$_SERVER儲存當前伺服器資訊,其中有幾個值如
代碼如下 |
複製代碼 |
$_SERVER["QUERY_STRING"], $_SERVER["REQUEST_URI"], $_SERVER["SCRIPT_NAME"], $_SERVER["PHP_SELF"] |
常常容易混淆,以下通過執行個體詳解$_SERVER函數中QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF變數區別,掌握這四者之間的關係,便於在實際應用中正確擷取所需要的值,供參考。
1,$_SERVER["QUERY_STRING"]
說明:查詢(query)的字串
2,$_SERVER["REQUEST_URI"]
說明:訪問此頁面所需的URI
3,$_SERVER["SCRIPT_NAME"]
說明:包含當前指令碼的路徑
4,$_SERVER["PHP_SELF"]
說明:當前正在執行指令碼的檔案名稱
執行個體:
1,http://ask.mbatrip.com (開啟首頁)
結果:
代碼如下 |
複製代碼 |
$_SERVER["QUERY_STRING"] = “” $_SERVER["REQUEST_URI"] = “/” $_SERVER["SCRIPT_NAME"] = “/index.php” $_SERVER["PHP_SELF"] = “/index.php” 2,http://ask.mbatrip.com/?tags/上傳(附帶查詢) |
結果:
代碼如下 |
複製代碼 |
$_SERVER["QUERY_STRING"] = “tags/上傳″ $_SERVER["REQUEST_URI"] = “/?tags/上傳″ $_SERVER["SCRIPT_NAME"] = “/index.php” $_SERVER["PHP_SELF"] = “/index.php” 3,http://ask.mbatrip.com/?tags/上傳/2 |
結果:
$_SERVER["QUERY_STRING"] = “tags/上傳/2”
$_SERVER["REQUEST_URI"] = “/index.php?tags/上傳/2”
$_SERVER["SCRIPT_NAME"] = “/index.php”
$_SERVER["PHP_SELF"] = “/index.php”
$_SERVER["QUERY_STRING"]擷取查詢語句,執行個體中可知,擷取的是?後面的值
$_SERVER["REQUEST_URI"] 擷取http://www.111cn.net後面的值,包括/
$_SERVER["SCRIPT_NAME"] 擷取當前指令碼的路徑,如:index.php
$_SERVER["PHP_SELF"] 當前正在執行指令碼的檔案名稱
總結一下,
對於QUERY_STRING,REQUEST_URI,SCRIPT_NAME 和PHP_SELF,深入瞭解將有利於我們在$_SERVER函數中正確調用這四個值。通過執行個體詳解$_SERVER函數中 QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF掌握四個變數之間的區別。