我可以使用__FILE__
魔术PHP常量获取当前正在执行的文件,但这会给我/var/www/vhosts/.../httpdocs/stacktrace.php
。我试图获取文件的名称,以便将其传递给隐藏的表单字段,然后在提交表单后再次运行该脚本。
我试图获取文件名的脚本可以被命名为任何内容,它被设计为被复制并重命名为站点的任何部分。
脚本将始终包含在内,它永远不会是'执行过的脚本。
我需要能够找到文件的路径,因为它将在include指令中使用(即相对于包含路径)。
我曾希望使用ini_get('include_path')
可以帮助我(如果它是/var/www/vhosts/.../httpdocs/
那么我可以从脚本的文件路径中删除那部分并且它会起作用),但这只是给了我{{ 1}}。我甚至都不知道这意味着什么。
任何正确方向的推动都会有助于吨。
答案 0 :(得分:1)
您可以使用以下某个值执行所需操作:
$_SERVER['DOCUMENT_ROOT']
$_SERVER['SCRIPT_FILENAME']
第一个返回docroot,第二个返回'''执行脚本的路径。然后,您可以使用此信息获取当前文件的相对路径。
答案 1 :(得分:1)
不确定我是否完全理解你想要的东西,但是如何:
$root = $_SERVER['DOCUMENT_ROOT'];
$pathWithLeadingSlash = substr(__FILE__, strlen($root));
// or
$pathWithoutLeadingSlash = substr(__FILE__, strlen($root) + 1);
答案 2 :(得分:0)
也许您正在寻找basename()
?