當(dāng)前位置:首頁(yè) >  站長(zhǎng) >  編程技術(shù) >  正文

PHP常量DIRECTORY_SEPARATOR原理及用法解析

 2020-11-23 13:32  來(lái)源: 腳本之家   我來(lái)投稿 撤稿糾錯(cuò)

  阿里云優(yōu)惠券 先領(lǐng)券再下單

這篇文章主要介紹了PHP常量DIRECTORY_SEPARATOR原理及用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

DIRECTORY_SEPARATOR在php是什么意思呢,在什么時(shí)候使用DIRECTORY_SEPARATOR最合理呢?下面來(lái)給各位介紹一下php DIRECTORY_SEPARATOR常量。

我們知道DIRECTORY_SEPARATOR是一個(gè)PHP常量,代表反斜杠,因?yàn)閣indows系統(tǒng)和linux系統(tǒng)的反斜杠不一樣。在 Windows 中,斜線(xiàn)(/)和反斜線(xiàn)(\)都可以用作目錄分隔符,在linux上路徑的分隔符是"/"。

那么在PHP代碼中什么時(shí)候要用DIRECTORY_SEPARATOR代表反斜杠呢?

比如這句話(huà):

代碼如下:

require_once dirname(__FILE__).DIRECTORY_SEPARATOR . './../../../wp-config.php';

require_once dirname(__FILE__).DIRECTORY_SEPARATOR.'inc/options.php';

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

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

在程序本地運(yùn)行很正常,上傳到服務(wù)器后,發(fā)現(xiàn)圖片沒(méi)有顯示出來(lái),圖片鏈接是絕對(duì)路徑 var/,而且當(dāng)中帶有 \ 但是我記得這個(gè)路徑已經(jīng)處理成相對(duì)路徑的

代碼如下:

$path = dirname(dirname(dirname(__FILE__))).'\\';

$search = array( $path, '\\');

$replace = array( '', '/');

return str_replace($search,$replace,$this->tempfolder).$this->filename_prefix.$public.'.jpg';

各位也可以看出來(lái)了,第一行代碼的用在LINUX "\\", 就不行。

解決的辦法是 用PHP 預(yù)定義常量DIRECTORY_SEPARATOR來(lái)代替'\','/'這樣的路徑分隔符,以前覺(jué)得既然windows,LINUX 都支持/,那都用成 / 得了,這是沒(méi)錯(cuò)的。可是從這個(gè)例子可以看出,當(dāng)要對(duì)路徑字符串進(jìn)行處理的時(shí)候,就比較危險(xiǎn)了,所以最好還是用DIRECTORY_SEPARATOR吧

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

來(lái)源:腳本之家

鏈接:https://www.jb51.net/article/199369.htm

申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)標(biāo)簽
php教程
用法

相關(guān)文章

  • PHP8的數(shù)據(jù)類(lèi)型轉(zhuǎn)換-PHP8知識(shí)詳解

    什么是數(shù)據(jù)類(lèi)型轉(zhuǎn)換?答:數(shù)據(jù)從一個(gè)類(lèi)型轉(zhuǎn)換成另外一個(gè)類(lèi)型,就是數(shù)據(jù)類(lèi)型轉(zhuǎn)換。在PHP8中,變量的類(lèi)型就是由賦值決定的,也就是說(shuō),如果string賦值給$var,然后$var的類(lèi)型就是string。之后將int值賦值給$var,它將是int類(lèi)型。列如:在上面的代碼中的“=”不是數(shù)學(xué)里面的“等于”,它是

    標(biāo)簽:
    php教程
  • 在PHP8中檢測(cè)數(shù)據(jù)類(lèi)型-PHP8知識(shí)詳解

    在PHP8中,可以使用多種方法來(lái)檢測(cè)數(shù)據(jù)類(lèi)型。以下是常用的四種方法:使用gettype()函數(shù)、使用is_*系列函數(shù)、使用get_debug_type()函數(shù)、使用get_class()函數(shù)。一、使用gettype()函數(shù)gettype()函數(shù)返回給定變量的數(shù)據(jù)類(lèi)型。例如:二、使用is_*系列函數(shù)P

    標(biāo)簽:
    php教程
  • PHP語(yǔ)言?xún)?yōu)勢(shì)-PHP8知識(shí)詳解

    PHP起源于自由軟件,并且得到了不斷的迭代更新,在web開(kāi)發(fā)領(lǐng)域獨(dú)領(lǐng)風(fēng)騷,得到了廣大使用者的喜愛(ài),PHP作為一款優(yōu)秀的腳本語(yǔ)言,具有以下優(yōu)勢(shì):1、源碼開(kāi)源:所有的PHP源代碼,你都能從PHP官方網(wǎng)站下載到,可以快速修改和利用。2、完全免費(fèi):你可以從PHP官方網(wǎng)站下載源碼完全免費(fèi),無(wú)需支付任何費(fèi)用,直

    標(biāo)簽:
    php教程
  • PHP8的新特性-PHP8知識(shí)詳解

    PHP8是PHP編程語(yǔ)言的一個(gè)主要版本,在2020年11月26日發(fā)布。它引入了許多新特性和改進(jìn),包括以下一些主要特性:1.JIT編譯器:PHP8引入了名為T(mén)racingJIT的即時(shí)(Just-In-Time)編譯器。JIT可以將PHP腳本中頻繁執(zhí)行的部分編譯成原生機(jī)器碼,提高執(zhí)行速度。2.類(lèi)型系統(tǒng)改

    標(biāo)簽:
    php教程
  • PHP是什么-PHP8知識(shí)詳解

    PHP是什么?PHP服務(wù)網(wǎng)從下面幾點(diǎn)為你講清楚什么是PHP。1、PHP最開(kāi)始是PersonalHomePage(個(gè)人主頁(yè))的縮寫(xiě),已經(jīng)正式更名為“PHP:HypertextPreprocessor”,超文本預(yù)處理器的字母縮寫(xiě)。2、PHP是一種被廣泛應(yīng)用的、跨平臺(tái)、開(kāi)放源代碼的多用途服務(wù)器端腳本語(yǔ)言,

    標(biāo)簽:
    php教程

熱門(mén)排行

信息推薦