将真实路径地址输出为调试地址
显示结果类似 ./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
125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337public
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
;
}