代碼如下 |
|
<?php /** * PHP擷取路徑或目錄實現 * @link http://www.45it.com */ //魔術變數,擷取當前檔案的絕對路徑 echo "__FILE__: ========> ".__FILE__; echo '<br/>'; //魔術變數,擷取當前指令碼的目錄 echo "__DIR__: ========> ".__DIR__; echo '<br/>'; //dirname返迴路徑的目錄部分,dirname(__FILE__)相當於__DIR__ echo "dirname(__FILE__): ========> ".dirname(__FILE__); echo '<br/>'; //$_SERVER['PHP_SELF']和$_SERVER['SCRIPT_NAME']的結果一般相同,他們都是擷取當前指令碼的檔案名稱 //只有當php以cgi方式運行時有區別,但是現在幾乎找不到以cgi方式運行php了 echo '$_SERVER["PHP_SELF"]: ========> '.$_SERVER['PHP_SELF']; echo '<br/>'; echo '$_SERVER["SCRIPT_NAME"]: ========> '.$_SERVER['SCRIPT_NAME']; echo '<br/>'; //當前執行指令碼的絕對路徑。記住,在CLI方式運行php是擷取不到的 echo '$_SERVER["SCRIPT_FILENAME"]: ========> '.$_SERVER['SCRIPT_FILENAME']; echo '<br/>'; //當前運行指令碼所在的主目錄。在伺服器設定檔中定義。 echo '$_SERVER["DOCUMENT_ROOT"]: ========> '.$_SERVER['DOCUMENT_ROOT']; echo '<br>'; //getcwd()返回當前工作目錄 echo "getcwd(): ========> ".getcwd(); echo '<br>'; echo '<br>'; echo "php教程(www.45it.com)整理"; |
(注意: $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(),返迴路徑資訊的絕對正常化的路徑