我试图在 PHP 中获取当前执行文件的完整路径。
realpath()
返回没有脚本文件名的路径。
pathinfo()
如果不通过它,你就不能使用它来分解整个路径。
__FILE__
获取调用文件的路径(即,调用__FILE__
常量的位置),它可能在included file
; 我不想要。
$_SERVER
变量, &不返回完整路径REQUEST_URI
。SCRIPT_NAME
PHP_SELF
最有希望的是除了警告之外的$_SERVER
变量..SCRIPT_FILENAME
如果使用 CLI 执行脚本,作为相对路径,例如 file.php 或 ../file.php,$_SERVER['SCRIPT_FILENAME'] 将包含用户指定的相对路径。
我想要确切的$_SERVER['SCRIPT_FILENAME']
返回值,例如/home/site/public_html/index.php
,但不是 100% 确定在所有情况下使用它是否安全?
后者是最好的使用方法吗?除了 CLI,它是否总是为正常的 Web 请求返回正确的路径?