2011-10-02 21 views
1

我有一個從/執行的php cli腳本,但腳本位於/opt/script/script.php。我怎樣才能從腳本輸出PHP CLI:什麼目錄?

YAY 

這種事情中

$location = ... (Get the location of the script) 
echo $location == '/opt/script' ? 'YAY' : 'Stupid'; 

拿到劇本的動態位置。

+1

你的「位置」目前的物理位置的意思腳本文件還是當前的工作目錄? –

+0

腳本的位置如何*動態*?它不是一直住在同一個地方嗎? – hakre

+1

我是指當前腳本文件所在的位置,而不是工作目錄。而且@hakre我必須多次移動該腳本,並且每次移動腳本時我都不想重寫腳本。 – macintosh264

回答

4

dirname(__FILE__)(或更新版本中的__DIR__)應該足夠了。您可以在Magic Constants一章中找到更多的參考資料。

+0

如何從一個包含的php文件中完成相同的操作? – andig

1

選擇你需要什麼,你可能會尋找__FILE__(包含當前文件的文件名magic constant)根據您的評論:

echo 'Filename (as called): ', var_dump($argv[0]); 

echo 'Current working directory (normally the directory called in): ', var_dump(getcwd()); 

echo 'Path of the script: ', var_dump(__FILE__); 

echo 'Directory of the script: ', var_dump(__DIR__);