我不是PHP程序员,但在使用包含的脚本(require_once(myscript)
)时需要获取当前文件名和父文件夹名称
我知道basename(__DIR__)
和basename(__FILE__)
会向我提供信息,但是!来自运行脚本,而脚本又返回不同的结果,例如:
考虑以下文件夹结构:
/index.php
/other.php
/dir/util.php
如果我在 util.php
中有以下功能 public static function echoParentAndFileNames(){
echo basename(__DIR__) . "<br />";
echo basename(__FILE__) . "<br />";
}
我在 index.php
中运行代码require_once("dir/util.php");
Util::echoParentAndFileNames();
输出将是: dir 和 util.php ,我想要index.php及其父文件夹名称......
那么如何从包含的文件中调用此脚本并让它向我显示所需的信息?
答案 0 :(得分:3)
要引用当前正在执行的脚本,您可以使用$_SERVER['SCRIPT_FILENAME']
。
因此,您可以将功能更改为:
public static function echoParentAndFileNames(){
echo basename( dirname( $_SERVER['SCRIPT_FILENAME'] ) ) . "<br />";
echo basename( $_SERVER['SCRIPT_FILENAME'] ) . "<br />";
}
来自PHP Docs:
'SCRIPT_FILENAME'
当前正在执行的脚本的绝对路径名。注意:
如果使用CLI执行脚本,作为相对路径,例如file.php或../file.php,$ _SERVER ['SCRIPT_FILENAME']将包含用户指定的相对路径。