再這兩個系統中,Windows的分隔符是「\」,linux是「/」,因此在文件目錄匹配的時候可能會遇到系統不兼容出錯,因此通常定義目錄分隔符使用以下php常量:DIRECTORY_SEPARATOR
php
在 Windows 中,斜線(/)和反斜線(\)均可以用做目錄分隔符,在linux上路徑的分隔符是/,這就致使了一個問題,好比開發機器是windows,有一個圖片上傳程序,,而咱們又使用了(\)做爲文件分隔符,調試機器上指定的上傳文件保存目錄是:linux
在本地調試都很正常,可是上傳到linux服務器的時候會發現會出錯。
這個問題就是出在文件的
分隔符上,windows上習慣性的使用\做爲文件分隔符,可是在linux上人家是不認識這個標識的,人家只認識/,因而就要引入下面這個
php內置
變量了:DIRECTORY_SEPARATOR。
上面的寫法能夠改寫爲如下無錯寫法:
這樣就能夠確保不會出錯了。
例如discuz裏面是這樣寫的:
回到問題自己上,DIRECTORY_SEPARATOR是一個返回跟操做系統相關的路徑
分隔符的
php內置命令,在windows上返回\,而在linux或者類unix上返回/,就是這麼個區別,一般在定義包含文件路徑或者上傳保存目錄的時候會用到。