溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

引入directory_separator的方法

發(fā)布時(shí)間:2021-05-10 16:14:22 來源:億速云 閱讀:127 作者:Leah 欄目:開發(fā)技術(shù)

引入directory_separator的方法?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

  directory_separator的引入

  眾所周知,在windows下路徑分隔符是(當(dāng)然/在部分系統(tǒng)上也是可以正常運(yùn)行的),在linux上路徑的分隔符是/,這就導(dǎo)致了一個(gè)問題;

  比如開發(fā)機(jī)器是windows,有一個(gè)圖片上傳程序,調(diào)試機(jī)器上指定的上傳文件保存目錄是:

  define(‘ROOT’,dirname(FILE).”upload”)

  在本地調(diào)試都很正常,但是上傳到linux服務(wù)器的時(shí)候會(huì)發(fā)現(xiàn)會(huì)出錯(cuò)。

  這個(gè)問題就是出在文件的分隔符上,windows上習(xí)慣性的使用作為文件分隔符,但是在linux上人家是不認(rèn)識(shí)這個(gè)標(biāo)識(shí)的,人家只認(rèn)識(shí)/,于是就要引入下面這個(gè)php內(nèi)置變量了:DIRECTORY_SEPARATOR。

  directory_separator的寫法

  上面的寫法可以改寫為以下無錯(cuò)寫法:

  define(‘ROOT’,dirname(FILE).DIRECTORY_SEPARATOR.”upload”);

  這樣就可以確保不會(huì)出錯(cuò)了。

  例如discuz里面是這樣寫的:

  define(‘S_ROOT’,dirname(FILE).DIRECTORY_SEPARATOR);

  回到問題本身上,DIRECTORY_SEPARATOR是一個(gè)返回跟操作系統(tǒng)相關(guān)的路徑分隔符的php內(nèi)置命令,在windows上返回,而在linux或者類unix上返回/,就是這么個(gè)區(qū)別,通常在定義包含文件路徑或者上傳保存目錄的時(shí)候會(huì)用到。

  require_oncedirname(FILE).DIRECTORY_SEPARATOR.'./../../../wp-config.php';

  require_oncedirname(FILE).DIRECTORY_SEPARATOR.'inc/options.php';

  這兩句PHP代碼,為什么前面部分用DIRECTORY_SEPARATOR,而后面部分卻用"/"呢?

  眾所周知,windows下的是\和/,而LINUX下的是/

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI