在windows下,可以用“/”或者“\”來表示目錄層次,而linux下只能用“/”;同時在linux下沒有盤符的概念,只有用“/”符號表示的根目錄。所以,用一個變量表示目錄位置的話,用“/”最安全,在任何系統下都合法。但是有一個問題一定要注意,就是上面提到的
windows盤符與linux根目錄的問題!舉例說明,$path = "/dir/",這是一個路徑,在linux下它很清楚地表示根目錄下的dir目錄;而在windows中呢,則表示
當前盤符下的dir目錄!,這里的“當前盤符”指的是web服務器所在的盤符!比如你的Apache裝在D盤,則$path就表示D:/dir/。為了不混淆,更好用$_SERVER['DOCUMENT_ROOT']加上相對路徑來表示,比如:$path = "dir/",則路徑為:$_SERVER['DOCUMENT_ROOT'].$path。于是該目錄位置是web目錄樹根下面的dir目錄,推薦用這個全局變量來表示路徑,不容易混淆。也可用“.”表示當前目錄的相對路徑表示法,這個“.”代表的是
腳本文件的當前目錄,而不是web目錄樹的位置。而“..”表示上層目錄。也是相對于腳本文件的位置。或者直接用替換把\換成/
$path = str_replace("\\", "/", $path);