我们的应用系统有可能会被放在非根目录下运行,如果程序中用了绝对路径的话,则必须考虑该应用的根目录。
设系统配置文件名为 common.inc.php,放在该应用的根目录的include目录下,即路径为 ./include/common.inc.php。
现在要在该文件中,设置系统根目录、根URL(指到达该应用根目录的URL层次)常量,程序如下所示
说明:
__FILE__: 系统变量,指当前PHP文件名,与文件包含关系无关,含完整路径,如D:/webroot/tjt/include/index.php
dirname(__FILE__): 取到目录,如d:/root/tjt/include
substr(TTINC,0,-8): 因为该文件被放在了include文件夹下,故去掉之,结果为 d:/root/tjt
$tempArr=explode("/",TTROOT);:根据 / 分割字符串,以提取最后一级目录名,此处也即为该应用的根目录名了,即 'tjt'
'http://'.$_SERVER['HTTP_HOST'].'/'.$tempArr[count($tempArr)-1]:这样就构成了根url了,此处为 http://localhost/tjt
如下一些常用的PHP系统常量:
__FILE__ 当前PHP文件名
__LINE__ 当前PHP文件中所在的行数
__FUNCTION__ 当前所执行的函数
__CLASS__ 当前所执行的类
PHP_VERSION PHP的版本
PHP_OS 当前服务器的操作系统
TRUE 同true
FALSE 同false
E_ERROR 到最近的错误处
E_WARNING 到最近的警告处
E_PARSE 语法有错误处
E_NOTICE PHP语言中有异常处
M__PI 圆周率
M__E 科学常数e
M__LOG2E 以2为底e的对数
M_LOG10E 以10为底e的对数
M_LN2 2的自然对数
M_LN10 10的自然对数