PHP 如何獲取url當前的伺服器變數

2021-08-27 15:45:22 字數 3904 閱讀 6262

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 和指...