将真实路径地址输出为调试地址
显示结果类似 ./system/libraries/Database.class.php
string Core_Core::debug_path( string $file [, boolean $highlight = bool false ] )
参数列表
参数 类型 描述 默认值 $file
string
Path to debug $highlight
boolean
是否返回高亮前缀,可以传字符颜色,比如#f00 bool false
string
public static function debug_path($file, $highlight=false)
{
if ($highlight)
{
if (IS_CLI)
{
# 命令行下输出带色彩的前缀
$l = "\x1b[36m";
$r = "\x1b[39m";
}
else
{
$l = '<span style="color:'.(is_string($highlight) && preg_match('/^[a-z0-9#\(\)\.,]+$/i',$highlight) ?$highlight:'#a00').'">';
$r = '</span>';
}
}
else
{
$l = $r = '';
}
$file = str_replace('\\', DS, $file);
if (strpos($file, DIR_CORE) === 0)
{
$file = $l . './core/' . $r . substr($file, strlen(DIR_CORE));
}
elseif (strpos($file, DIR_TEAM_LIBRARY) === 0)
{
$file = $l . './team-library/' . $r . substr($file, strlen(DIR_TEAM_LIBRARY));
}
elseif (strpos($file, DIR_LIBRARY) === 0)
{
$file = $l . './libraries/' . $r . substr($file, strlen(DIR_LIBRARY));
}
elseif (strpos($file, DIR_MODULE) === 0)
{
$file = $l . './modules/' . $r . substr($file, strlen(DIR_MODULE));
}
elseif (strpos($file, DIR_DRIVER) === 0)
{
$file = $l . './drivers/' . $r . substr($file, strlen(DIR_DRIVER));
}
elseif (strpos($file, DIR_PROJECT) === 0)
{
$file = $l . './projects/' . $r . substr($file, strlen(DIR_PROJECT));
}
elseif (strpos($file, DIR_TEMP) === 0)
{
$file = $l . './data/temp/' . $r . substr($file, strlen(DIR_TEMP));
}
elseif (strpos($file, DIR_LOG) === 0)
{
$file = $l . './data/log/' . $r . substr($file, strlen(DIR_LOG));
}
elseif (strpos($file, DIR_CACHE) === 0)
{
$file = $l . './data/cache/' . $r . substr($file, strlen(DIR_CACHE));
}
elseif (strpos($file, DIR_DATA) === 0)
{
$file = $l . './data/' . $r . substr($file, strlen(DIR_DATA));
}
elseif (strpos($file, DIR_ASSETS) === 0)
{
$file = $l . './wwwroot/assets/' . $r . substr($file, strlen(DIR_ASSETS));
}
elseif (strpos($file, DIR_UPLOAD) === 0)
{
$file = $l . './wwwroot/upload/' . $r . substr($file, strlen(DIR_UPLOAD));
}
elseif (strpos($file, DIR_WWWROOT) === 0)
{
$file = $l . './wwwroot/' . $r . substr($file, strlen(DIR_WWWROOT));
}
elseif (strpos($file, DIR_SYSTEM) === 0)
{
$file = $l . './' . $r . substr($file, strlen(DIR_SYSTEM));
}
$file = str_replace('\\', '/', $file);
return $file;
}