PHP预定义常量DIRECTORY_SEPARATOR
DIRECTORY_SEPARATOR是一個顯示系統(tǒng)分隔符的命令,DIRECTORY_SEPARATOR是PHP的內(nèi)部常量,不需要任何定義與包含即可直接使用。
眾所周知,在windows下路徑分隔符是(當(dāng)然/在部分系統(tǒng)上也是可以正常運行的),在linux上路徑的分隔符是/,這就導(dǎo)致了一個問題,比如開發(fā)機器是windows,有一個圖片上傳程序,調(diào)試機器上指定的上傳文件保存目錄是:define(‘ROOT’, dirname(__FILE__).”upload”),在本地調(diào)試都很正常,但是上傳到linux服務(wù)器的時候會發(fā)現(xiàn)會出錯。
這個問題就是出在文件的分隔符上,windows上習(xí)慣性的使用作為文件分隔符,但是在linux上人家是不認識這個標識的,人家只認識/,于是就要引入下面這個php內(nèi)置變量了:DIRECTORY_SEPARATOR。
上面的寫法可以改寫為以下無錯寫法:
define(‘ROOT’, dirname(__FILE__).DIRECTORY_SEPARATOR.”upload”);
這樣就可以確保不會出錯了。
例如discuz里面是這樣寫的:define(‘S_ROOT’, dirname(__FILE__).DIRECTORY_SEPARATOR);
回到問題本身上,DIRECTORY_SEPARATOR是一個返回跟操作系統(tǒng)相關(guān)的路徑分隔符的php內(nèi)置命令,在windows上返回,而在linux或者類unix上返回/,就是這么個區(qū)別,通常在定義包含文件路徑或者上傳保存目錄的時候會用到。
轉(zhuǎn)載于:https://www.cnblogs.com/joshua317/articles/4722601.html
總結(jié)
以上是生活随笔為你收集整理的PHP预定义常量DIRECTORY_SEPARATOR的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: @清晰掉 GNU C __attribu
- 下一篇: 设计模式09: Decorator 装饰