假設我們有index.php
,它存儲在/home/user/public/www
中,index.php
從文件inc/app/Foo.class.php
中調用類Foo->bar()
。我可以獲取最初在包含文件中調用的PHP文件的路徑嗎?
我想在Foo
類的吧功能在這種情況下,以獲取路徑/home/user/public/www
的保持 - 我不想使用全局變量,傳遞變量等
假設我們有index.php
,它存儲在/home/user/public/www
中,index.php
從文件inc/app/Foo.class.php
中調用類Foo->bar()
。我可以獲取最初在包含文件中調用的PHP文件的路徑嗎?
我想在Foo
類的吧功能在這種情況下,以獲取路徑/home/user/public/www
的保持 - 我不想使用全局變量,傳遞變量等
這不會讓你更容易地運行腳本的目錄?
$dir=dirname($_SERVER["SCRIPT_FILENAME"])
您可以使用debug_backtrace查看調用路徑並獲取調用此函數的文件。
一個簡單的例子:
class Foo {
function bar() {
$trace = debug_backtrace();
echo "calling file was ".$trace[0]['file']."\n";
}
}
getcwd()
獲取當前工作目錄
它可以用於各種由第三方模塊原因而改變,包括甚至你通過發出chdir()
自己的代碼。
debug_backtrace()
正如德文建議您正在尋找的答案。
你打敗了我。 – Powerlord 2008-09-26 14:29:46