PHP的預定義變數$_SERVER是一個包含頭部(headers),路徑資訊及指令碼位置的數組,數組的實體由web伺服器建立.
利用$_SERVER數組,我們可以擷取URL完整路徑及真實路徑,讓自己隨心所欲的運用它們.
$_SERVER['SERVER_NAME'] // 當前運行指令碼所在伺服器主機的名稱.
$_SERVER[SERVER_PORT'] //使用者串連到伺服器時所使用的連接埠.
$_SERVER['REQUEST_URI'] //當前運行指令碼除主機名稱外的請求URL.
$_SERVER['DOCUMENT_ROOT'] //當前運行指令碼所在的主目錄.
舉例 URL : http://www.cndong.cn/Test/Test.php
$_SERVER['SERVER_NAME']: www.cndong.cn
$_SERVER['SERVER_PORT'] : 80www.2cto.com
$_SERVER['REQUEST_URI'] : /Test/Test.php
$_SERVER['DOCUMENT_ROOT'] : /home/var/www/cndong.cn/htdocs
所以URL完整路徑為: “http://”.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']
說明 :
1. 預設http的連接埠為80 ,所以一般$_SERVER['SERVER_PORT']不納入URL完整路徑,當然特殊情況,特殊對待!
2. 有人會用$_SERVER['REMOTE_HOST']擷取主機名稱,可是它的含義是:正在瀏覽當前頁面使用者的主機名稱(此變數必須由Web 服務器來建立).
延伸:
$_SERVER['REMOTE_HOST']為空白值的解決方案
修改apache伺服器設定檔httpd.conf內的HostnameLookups為On
作者:徐修俊
http://www.bkjia.com/PHPjc/478162.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/478162.htmlTechArticlePHP的預定義變數$_SERVER是一個包含頭部(headers),路徑資訊及指令碼位置的數組,數組的實體由web伺服器建立. 利用$_SERVER數組,我們可以擷取URL完...