[英]php get foldername and filename of current file but from external script?
我不是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及其父文件夾名稱...
那么如何從包含的文件中調用此腳本並讓它向我顯示所需的信息?
要引用當前執行的腳本,您可以使用$_SERVER['SCRIPT_FILENAME']
。
因此,您可以將功能更改為:
public static function echoParentAndFileNames(){
echo basename( dirname( $_SERVER['SCRIPT_FILENAME'] ) ) . "<br />";
echo basename( $_SERVER['SCRIPT_FILENAME'] ) . "<br />";
}
來自PHP文檔 :
'SCRIPT_FILENAME'
當前正在執行的腳本的絕對路徑名。注意:
如果使用CLI執行腳本,作為相對路徑,例如file.php或../file.php,$ _SERVER ['SCRIPT_FILENAME']將包含用戶指定的相對路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.