获取当前脚本的绝对路径
我搜索了高和低,并获得了许多不同的解决方案和包含信息的变量来获取绝对路径。 但他们似乎在某些条件下工作,而不是在其他条件下工作。 有没有一种银子弹的方式来获取当前执行脚本在PHP中的绝对路径? 对我来说,脚本将从命令行运行,但如果在Apache等内运行,它也应该是一样的功能。
澄清:最初执行的脚本,而不是我们目前所在的文件
__FILE__
常量会为您提供当前文件的绝对路径。
UPD :
一旦问题被改为检索开始运行时只(??) 可靠的方式做到这一点的脚本是使用debug_backtrace
功能。
$stack = debug_backtrace();
$firstFrame = $stack[count($stack) - 1];
$initialFile = $firstFrame['file'];
echo realpath(dirname(__FILE__));
如果你把它放在一个包含文件中,它将打印这个包含的路径。 要获取父脚本的路径,请将__FILE__
替换为$_SERVER['PHP_SELF']
。 但请注意,PHP_SELF存在安全风险!