php url 非根目录,PHP 系统根目录、根URL的判断

我们的应用系统有可能会被放在非根目录下运行,如果程序中用了绝对路径的话,则必须考虑该应用的根目录。

设系统配置文件名为 common.inc.php,放在该应用的根目录的include目录下,即路径为 ./include/common.inc.php。

现在要在该文件中,设置系统根目录、根URL(指到达该应用根目录的URL层次)常量,程序如下所示

define('TTINC', str_replace("//", '/', dirname(__FILE__) ) );

define('TTROOT', substr(TTINC,0,-8)); //根目录,如d:/root/tjt 该目录include的长度为7 再加一个 / 的长度

$tempArr=explode("/",TTROOT);

define('TTHOST', 'http://'.$_SERVER['HTTP_HOST'].'/'.$tempArr[count($tempArr)-1]); //该系统路径,已考虑放在子目录,如 http://localhost/tjt

说明:

__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的自然对数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值