本文實(shí)例講述了PHP獲取當(dāng)前相對(duì)于域名目錄的方法。分享給大家供大家參考。具體如下:
http://127.0.0.1/dev/classd/index.php/download
比如這個(gè)地址,我想得到紅色區(qū)域的地址用于生成站內(nèi)的鏈接,名為 baseurl。
用 $_SERVER['SCRIPT_NAME'] 就可以了, $_SERVER['SCRIPT_NAME'] 是當(dāng)前正在訪問(wèn)的PHP文件的相對(duì)路徑,只要如下稍作處理:
從$_SERVER['SCRIPT_NAME']中獲取目錄部分,并
代碼如下:
$baseUrl = str_replace('/','/',dirname($_SERVER['SCRIPT_NAME']));
保證為空時(shí)能返回可以使用的正常值
代碼如下:
$baseUrl = empty($baseUrl) ? '/' : '/'.trim($baseUrl,'/').'/';
這樣就可以正常獲取到 /dev/classd/ 這部分的目錄地址了。
順便看了一下 Zend Framework 的 baseUrl() 函數(shù),結(jié)果一看那么一大堆代碼就沒(méi)再繼續(xù)看了,我就想不通同樣的功能他用了一大堆一大堆的代碼,從$_SERVER里獲取了一堆,然后中間經(jīng)過(guò)兩三個(gè)類(lèi),四五個(gè)方法才最終被我們直接調(diào)用,除了中間有三行是獲取當(dāng)前的PHP文件以外,其它都是沒(méi)用和無(wú)謂的處理,ZF本身運(yùn)行的已經(jīng)夠慢的了,這是什么一個(gè)意思呢。感興趣的朋友可以研究一下。
希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注