1,$_server["query_string"]
說明:查詢(query)的字串
2,$_server["request_uri"]
說明:訪問此頁面所需的uri
3,$_server["script_name"]
說明:包含當前指令碼的路徑
4,$_server["php_self"]
說明:當前正在執行指令碼的檔名
例項:1,(直接開啟主頁)
結果:$_server["query_string"] = ""
$_server["request_uri"] = "/"
$_server["script_name"] = "/index.php"
$_server["php_self"] = "/index.php"
2,?p=222 (附帶查詢)
結果:$_server["query_string"] = "p=222"
$_server["request_uri"] = "/?p=222"
$_server["script_name"] = "/index.php"
$_server["php_self"] = "/index.php"
3,index.php?p=222&q=biuuu
結果:$_server["query_string"] = "p=222&q=biuuu"
$_server["request_uri"] = "/index.php?p=222&q=biuuu"
$_server["script_name"] = "/index.php"
$_server["php_self"] = "/index.php"
$_server["query_string"]獲取查詢語句,例項中可知,獲取的是?後面的值
$_server["request_uri"] 獲取
後面的值,包括/
$_server["script_name"] 獲取當前指令碼的路徑,如:
index.php
$_server["php_self"] 當前正在執行指令碼的檔名
示例**
<?php
/**__file__ ,
getcwd(),
$_server["request_uri"],
$_server["script_name"],
$_server["php_self"],
$_server["script_filename"],
來觀察一下這些變數或函式的異同.
假設有乙個請求位址為: http://localhost:8080/test.php/age=20
而test.php 的完整路徑是: d:/server/www/example/test.php
1) getcwd()
將得到瀏覽器請求的頁面檔案所在的目錄. 即test.php 檔案所在的目錄: d:/server/www/example/ ,
如果在test.php 執行了 require 或 include 語句, 比如 inculde(」test_dir/test2.php」),
那麼在 test2.php 裡 getcwd()函式 返回的也將是 test.php 所在的目錄.
2) __file__
乙個魔術變數, 用它將得到 __file__ 變數所在檔案的完整路徑,
比如: test.php 裡 __file__ 將得到 d:/server/www/example/test.php ,
test_dir/test2.php 裡的 __file__ 將得到 d:/server/www/example/test_dir/test2.php
3) $_server["script_filename"]
將得到瀏覽器請求的頁面檔案的完整路徑.
test.php 和 test_dir/test2.php 裡用 $_server["script_name"] 都將得到 d:/server/www/example/test.php.
4) $_server["script_name"]
將得到瀏覽器請求的頁面檔案的檔名,注意: 與 $_server["script_name"] 不同, 此變數只得到檔名而不包含路徑,
在test.php 與 test_dir/test2.php 用$_server["script_name"] 得到的都將是 test.php.
當然, 在test.php 與 test_dir/test2.php 執行 basename($_server["script_filename"]) 與 $_server["script_name"] 相同.
執行 在test.php 與 test_dir/test2.php 執行 realpath(」test.php」) 得到的結果與 $_server["script_filename"] 相同.
5) $_server["php_self"]
將得到瀏覽器請求頁面的檔名, 並剝掉問號 ? 後的內容, 注意:不包含路徑,
比如在客戶端裡請求 http://localhost:8080/test.php?age=20&name=tom,
那麼test.php 和 test_dir/test2.php 的 $_server["php_self"] 都將得到 「test.php」。「age=20&name=tom」被剝掉。
而如果客戶端裡請求 http://localhost:8080/test.php/age=20&name=tom,
那麼test.php 和 test_dir/test2.php 的 $_server["php_self"] 都將得到 「test.php/age=20&name=tom」。
6) $_server["request_uri"]
將得到瀏覽器請求頁面的檔名, 以及檔名之後的所有內容(注意: 井號 # 之後的內容將被略去),
比如在客戶端裡請求 http://localhost:8080/test.php?age=20&name=tom,
那麼test.php 和 test_dir/test2.php 的 $_server["reuest_uri"] 都將得到 「test.php」。「age=20&name=tom」被剝掉。
而如果客戶端裡請求 http://localhost:8080/test.php/age=20&name=tom,
那麼test.php 和 test_dir/test2.php 的 $_server["request_uri"] 都將得到 「test.php/age=20&name=tom」。*/
// test.php:
echo 「test1.php variables
」;echo 「getcwd: 「, getcwd(), 「
」;echo 「__file__: 「, __file__, 「
」;echo 「request_uri: 「, $_server["request_uri"], 「
」;echo 「script_name: 「, $_server["script_name"], 「
」;echo 「php_self: 「, $_server["php_self"], 「
」;echo 「script_filename 「, $_server["script_filename"] , 「」;
// 把 test2.php 包含進來, 在 test2.php 裡輸出上面的變數,看有什麼不同:
include_once(」test2/test2.php」);
?>
以上是本文關於php 如何獲取url當前的伺服器變數,希望本文對廣大php開發者有所幫助,感謝閱讀本文。更多有關php技術問題歡迎****:304224365,驗證碼:csl,不寫驗證不予通過。
php獲取當前URL位址
注 在 php 4.1.0 及以後版本使用。之前的版本,使用 http server vars。server 是乙個包含諸如頭部 headers 路徑 paths 和指令碼位置 script locations 的陣列。陣列的實體由 web 伺服器建立。不能保證所有的伺服器都能產生所有的資訊 伺服器...
PHP獲取當前url的函式
php獲取當前url的函式 則顯示 http localhost lu.php 伺服器變數 server 注 在 php 4.1.0 及以後版本使用。之前的版本,使用 http server vars。server 是乙個包含諸如頭部 headers 路徑 paths 和指令碼位置 script l...
PHP獲取當前url的函式
預定義變數 server 附 獲取當前url位址例子 則顯示 http localhost lu.php 伺服器變數 server 注 在 php 4.1.0 及以後版本使用。之前的版本,使用 http server vars。server 是乙個包含諸如頭部 headers 路徑 paths 和指...