萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> PHP獲取當前相對於域名目錄的方法

PHP獲取當前相對於域名目錄的方法

   本文實例講述了PHP獲取當前相對於域名目錄的方法。分享給大家供大家參考。具體如下:

  http://127.0.0.1/dev/classd/index.php/download

  比如這個地址,我想得到紅色區域的地址用於生成站內的鏈接,名為 baseurl。

  用 $_SERVER['SCRIPT_NAME'] 就可以了, $_SERVER['SCRIPT_NAME'] 是當前正在訪問的PHP文件的相對路徑,只要如下稍作處理:

  從$_SERVER['SCRIPT_NAME']中獲取目錄部分,並且替換dirname函數可能出現的反斜槓問題

  代碼如下:

  $baseUrl = str_replace('\','/',dirname($_SERVER['SCRIPT_NAME']));

  保證為空時能返回可以使用的正常值

  代碼如下:

  $baseUrl = empty($baseUrl) ? '/' : '/'.trim($baseUrl,'/').'/';

  這樣就可以正常獲取到 /dev/classd/ 這部分的目錄地址了。

  順便看了一下 Zend Framework 的 baseUrl() 函數,結果一看那麼一大堆代碼就沒再繼續看了,我就想不通同樣的功能他用了一大堆一大堆的代碼,從$_SERVER裡獲取了一堆,然後中間經過兩三個類,四五個方法才最終被我們直接調用,除了中間有三行是獲取當前的PHP文件以外,其它都是沒用和無謂的處理,ZF本身運行的已經夠慢的了,這是什麼一個意思呢。感興趣的朋友可以研究一下。

  希望本文所述對大家的php程序設計有所幫助。

copyright © 萬盛學電腦網 all rights reserved