1. 程式人生 > >php中獲取url與物理路徑的總結

php中獲取url與物理路徑的總結

在這裡我想總結一下取得位址列內URL及檔案所屬的我更路徑的一些資訊:

運用$_SERVER[ ]我們可以來完成許多事情:它是一個包含頭部(headers),路徑資訊及指令碼位置的陣列,陣列的實體由web伺服器建立。

這是一個“superglobal”,或者可以描述為自動全域性變數。這只不過意味這它在所有的指令碼中都有效。在函式或方法中您不需要使用global $_SERVER; 訪問它,就如同使用 $HTTP_SERVER_VARS 一樣。

 $HTTP_SERVER_VARS 包含著同樣的資訊,但是不是一個自動全域性變數。(注意: $HTTP_SERVER_VARS 和 $_SERVER 是不同的變數,

PHP 處理它們的方式不同。)如果設定了 register_globals 指令,這些變數也在所有指令碼中可用;也就是,分離了 $_SERVER 和 $HTTP_SERVER_VARS 陣列。

$_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(),返回路徑資訊的絕對規範化的路徑