使用该方法可在TP5下获取到类似TP3中__ROOT__的函数。
返回的结果roo:
本地项目返回:./你的项目/
线上项目返回:./
function root(){
$root = $phpfile = '';
$iscgi = (0 === strpos(PHP_SAPI,'cgi') || false !== strpos(PHP_SAPI,'fcgi')) ? 1 : 0 ;
if ( $iscgi ) {
$temp = explode('.php',$_SERVER['PHP_SELF']);
$phpfile = rtrim(str_replace($_SERVER['HTTP_HOST'],'',$temp[0].'.php'),'/');
} else {
$phpfile = rtrim($_SERVER['SCRIPT_NAME'],'/');
}
$root = rtrim(dirname($phpfile),'/');
return (($root=='/' || $root=='\\') ? '' : $root);
}
以上转载自:http://www.thinkphp.cn/code/3475.html
在本人测试项目中使用:
1、入口文件index.php中写入以下代码
// 获取项目地址
$root = $phpfile = '';
$iscgi = (0 === strpos(PHP_SAPI,'cgi') || false !== strpos(PHP_SAPI,'fcgi')) ? 1 : 0 ;
if ( $iscgi ) {
$temp = explode('.php',$_SERVER['PHP_SELF']);
$phpfile = rtrim(str_replace($_SERVER['HTTP_HOST'],'',$temp[0].'.php'),'/');
} else {
$phpfile = rtrim($_SERVER['SCRIPT_NAME'],'/');
}
$root = rtrim(dirname($phpfile),'/');
$root = ($root=='/' || $root=='\\') ? '' : $root;
// [ 应用入口文件 ]
// 定义应用目录
define('APP_PATH', __DIR__ . '/application/');
// 静态文件目录
define('PUBILC_PATH', $root.'/public/');
// 上传文件目录
define('UPLOAD_PATH', $root.'/public/uploads');
// 根目录
define('ROOT',$root);
// 加载框架引导文件
require __DIR__ . '/thinkphp/start.php';
2、config.php中
return [
// 视图输出字符串内容替换
'view_replace_str' => [
'__ROOT__'=>ROOT
]
]