php中獲取url與物理路徑的總結
在這裡我想總結一下取得位址列內URL及檔案所屬的我更路徑的一些資訊:
運用$_SERVER[ ]我們可以來完成許多事情:它是一個包含頭部(headers),路徑資訊及指令碼位置的陣列,陣列的實體由web伺服器建立。
這是一個“superglobal”,或者可以描述為自動全域性變數。這只不過意味這它在所有的指令碼中都有效。在函式或方法中您不需要使用global $_SERVER; 訪問它,就如同使用 $HTTP_SERVER_VARS 一樣。
$HTTP_SERVER_VARS 包含著同樣的資訊,但是不是一個自動全域性變數。(注意: $HTTP_SERVER_VARS 和 $_SERVER 是不同的變數,
$_SERVER['HTTP_HOST'] 取得當前請求的Host:頭部內容
$_SERVER['PHP_SELF']這可能是我們最為經常用到的了,它返回當前呼叫 的頁的檔名,如果是http://localhost/test/2005/test.php, 那麼將會返回/test/2005/test.php
$_SERVER['SCRIPT_NAME']它將返回包含當前指令碼的路徑。這在頁面需要指向自己時非常有用
$_SERVER['SCRIPT_FILENAME']它將返回當前檔案所在的絕對路徑資訊
$_SERVER['REQUEST_URI']返回訪問此頁面所需的URI,包括"/"
當然還有許多路徑函式:
dirname(),返回路徑資訊中的目錄部分,前面是帶有"/"的
basename()返回路徑中的基本的檔名部分,當然也可以設定字尾來控制輸出。
realpath(),返回路徑資訊的絕對規範化的路徑