2010-02-19 67 views
2

我使用下面的語句返回運行腳本的目錄名稱:什麼路徑可以接受?

print dirname(__FILE__); 

它輸出這樣的事情與後臺斜線:

www\EZPHP\core\ezphp.php 

問:

是所有主要操作系統都可以使用反斜槓路徑?如果不是,我應該如何使用斜槓或反斜槓構建路徑,以便在所有主要操作系統(例如Windows,Linux,Ubuntu)上均可接受。

謝謝。

回答

2

正斜線是一條很好的路線。

還有一個稱爲DIRECTORY_SEPARATOR的常量,它將返回運行代碼的系統的目錄分隔符。

我在爲所有應用程序編寫路徑時使用了正斜槓,並且當我展開一個返回路徑的調用結果時,我經常使用DIRECTORY_SEPARATOR,以便確保始終有正確的路徑。

HTH, 的Jc

2

我會正常化,以正斜槓。 Windows接受正斜槓,他們是在* nix系統默認

print str_replace('\\','/',dirname(__FILE__));

+0

@Ross:「它們是* nix系統上的默認值」。所以正斜槓在* nix系統上是默認的,但是它們支持反斜槓? – Sarfraz 2010-02-19 17:52:57

1

在現實中,也不要緊......這是因爲目錄名()不一定返回反斜線:它返回什麼目錄分隔符被操作系統使用。也就是說,不管dirname返回的是你應該使用的分隔符。

除此之外,只需使用正斜槓:PHP將在Windows和Linux中正確解釋它。

1

沒關係,目錄名()總是在OS格式返回路徑。

dirname('c:/x'); // returns 'c:\' 
dirname('c:/Temp/x'); // returns 'c:/Temp' 
dirname('/x'); // returns '\' 
相關問題