程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP獲取URL各個部分的函數

PHP獲取URL各個部分的函數

編輯:PHP綜合

1、$_SESSION['PHP_SELF'] — 獲取當前正在執行腳本的文件名

2、$_SERVER['SERVER_PROTOCOL'] — 請求頁面時通信協議的名稱和版本。例如,“HTTP/1.0”。 

3、$_SERVER['REQUEST_TIME'] — 請求開始時的時間戳。從 PHP 5.1.0 起有效。和time函數效果一樣。

4、$_SERVER['argv'] — 傳遞給該腳本的參數。我試了下,get方法可以得到$_SERVER['argv'][0];post方法無法給他賦值。

5、$_SERVER['SERVER_NAME'] — 返回當前主機名。

6、$_SERVER['SERVER_SOFTWARE'] — 服務器標識的字串,在響應請求時的頭信息中給出。 如Microsoft-IIS/6.0

7、$_SERVER['REQUEST_METHOD'] — 訪問頁面時的請求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。 

8、$_SERVER['QUERY_STRING'] — 查詢(query)的字符串(URL 中第一個問號 ? 之後的內容)。 

9、$_SERVER['DOCUMENT_ROOT'] — 當前運行腳本所在的文檔根目錄。在服務器配置文件中定義。 如E:\server

10、$_SERVER['HTTP_ACCEPT'] — 當前請求的 Accept: 頭信息的內容。

11、$_SERVER['HTTP_ACCEPT_CHARSET'] — 當前請求的 Accept-Charset: 頭信息的內容。例如:“iso-8859-1,*,utf-8”。 

12、$_SERVER['HTTP_ACCEPT_ENCODING'] — 當前請求的 Accept-Encoding: 頭信息的內容。例如:“gzip”。 

13、$_SERVER['HTTP_ACCEPT_LANGUAGE'] — 當前請求的 Accept-Language: 頭信息的內容。例如:“en”。 

14、$_SERVER['HTTP_CONNECTION'] — 當前請求的 Connection: 頭信息的內容。例如:“Keep-Alive”。 

15、$_SERVER['HTTP_HOST'] — 當前請求的 Host: 頭信息的內容。

16、$_SERVER['HTTP_REFERER'] — 鏈接到當前頁面的前一頁面的 URL 地址。

17、$_SERVER['HTTP_USER_AGENT'] — 返回用戶使用的浏覽器信息。也可以使用 get_browser() 得到此信息。 

18、$_SERVER['HTTPS'] — 如果通過https訪問,則被設為一個非空的值,否則返回off.

19、$_SERVER['REMOTE_ADDR'] — 正在浏覽當前頁面用戶的 IP 地址。

20、$_SERVER['REMOTE_HOST'] — 正在浏覽當前頁面用戶的主機名。反向域名解析基於該用戶的 REMOTE_ADDR。如本地測試返回127.0.0.1

21、$_SERVER['REMOTE_PORT'] — 用戶連接到服務器時所使用的端口。我在本機測試沒通過,不知道什麼原因。 

22、$_SERVER['SCRIPT_FILENAME'] — 當前執行腳本的絕對路徑名。如返回E:\server\index.php

23、$_SERVER['SERVER_ADMIN'] — 該值指明了 Apache 服務器配置文件中的 SERVER_ADMIN 參數。如果腳本運行在一個虛擬主機上,則該值是那個虛擬主機的值 

24、$_SERVER['SERVER_PORT'] — 服務器所使用的端口。默認為“80”。如果使用 SSL 安全連接,則這個值為用戶設置的 HTTP 端口。

25、$_SERVER['SERVER_SIGNATURE'] — 包含服務器版本和虛擬主機名的字符串。 

26、$_SERVER['PATH_TRANSLATED'] — 當前腳本所在文件系統(不是文檔根目錄)的基本路徑。這是在服務器進行虛擬到真實路徑的映像後的結果。 Apache 2 用 戶可以使用 httpd.conf 中的 AcceptPathInfo On 來定義 PATH_INFO。

27、$_SERVER['SCRIPT_NAME'] — 包含當前腳本的路徑。這在頁面需要指向自己時非常有用。__FILE__ 包含當前文件的絕對路徑和文件名(例如包含文件)。

28、$_SERVER['REQUEST_URI'] — 訪問此頁面所需的 URI。例如,“/index.html”。 

29、$_SERVER['PHP_AUTH_DIGEST'] — 當作為 Apache 模塊運行時,進行 HTTP Digest 認證的過程中,此變量被設置成客戶端發送的“Authorization”HTTP 頭內容(以便作進一步的認證操作)。 

30、$_SERVER['PHP_AUTH_USER']– 當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是用戶輸入的用戶名。

31、$_SERVER['PHP_AUTH_PW'] — 當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是用戶輸入的密碼。

32、$_SERVER['AUTH_TYPE']–當 PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是認證的類型。

 

使用parse_url函數也可輕易獲取URL各個部分

舉例子如下:
代碼如下:

$url = "http://www.electrictoolbox.com/php-extract-domain-from-full-url/";
$parts = parse_url($url);

輸出:
代碼如下:

Array
(
[scheme] => http
[host] => www.electrictoolbox.com
[path] => /php-extract-domain-from-full-url/
)

又如:
代碼如下:

<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url($url));
echo parse_url($url, PHP_URL_PATH);
?>

輸出:
代碼如下:

Array
(
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg=value
[fragment] => anchor
)

可以看到,可以很容易分解出一個URL的各個部,那如果要拿指定的部分出來的話也很容易,如
echo parse_url($url, PHP_URL_PATH);
就是在第二個參數中,設定如下的參數:
PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY or PHP_URL_FRAGMENT.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved