獲得url的詳細資訊

2022-07-05 06:33:08 字數 1751 閱讀 8684

php有個預定義變數 $_server,是個陣列,其中包含了很多資訊,遍歷這個陣列便可以找到我們感興趣的東西。

function getrequestinfo() 

}

這裡列印了很多資訊,我們需要的是url相關的,先來看看url包含哪些組成部分。

url的訪問方式有:

1.ftp —— 檔案傳送協議 ftp

2.http —— 超文字傳送協議 http

3.news —— usenet 新聞

《主機》 是存放資源的主機在網際網路中的網域名稱

訪問方式 => key: "server_protocol",value: "http/1.1"

主機 => key: "server_name",value: "localhost"

埠 => key: "server_port",value: "80"

路徑 => key: "request_uri",value:"/index.php" (待定,後面細說)

注意以下幾點:

1. 埠是80時,http_host = server_name;

埠不是80時,http_host  = server_name + server_port;

2. 多數情況下,php_self, script_name, request_uri 的值相等,區別如下:

$_server['php_self']

— – — /example/index.php

index.php — – — /example/index.php

index.php?a=test — – — /example/index.php

index.php/dir/test — – — /dir/test

當我們使用$_server['php_self']的時候,無論訪問的url位址是否有index.php,它都會自動的返回index.php。

但是如果在檔名後面再加斜線的話,就會把後面所有的內容都返回$_server['php_self']。

$_server['request_uri']

— – — /example/

index.php — – — /example/index.php

index.php?a=test — – — /example/index.php?a=test

index.php/dir/test — – — /example/index.php/dir/test

$_server['request_uri']返回的是我們在url裡寫的精確的位址,如果url只寫到 '/',就返回 '/'

$_server['script_name']

— – — /example/index.php

index.php — – — /example/index.php

index.php — – — /example/index.php

index.php/dir/test — – — /example/index.php

在所有的返回中都是當前的檔名/example/index.php

[路徑] 應該網域名稱後面的東西,如/example/index.php?a=test,但是呢,?後面的東西可以通過 $_server['query_string'] 或 $_get 陣列獲得,所以這部分可以不用處理,我們的目的是拿到?前面的部分。

詳細對比上面三個的值,我個人覺得用 request_uri 比較好,可以靈活地進行任何處理。

ps aux grep 詳細資訊

ps a 顯示現行終端機下的所有程式,包括其他使用者的程式。2 ps a 顯示所有程式。3 ps c 列出程式時,顯示每個程式真正的指令名稱,而不包含路徑,引數或常駐服務的標示。4 ps e 此引數的效果和指定 a 引數相同。5 ps e 列出程式時,顯示每個程式所使用的環境變數。6 ps f 用a...

ps aux grep 詳細資訊

1 ps a 顯示現行終端機下的所有程式,包括其他使用者的程式。2 ps a 顯示所有程式。3 ps c 列出程式時,顯示每個程式真正的指令名稱,而不包含路徑,引數或常駐服務的標示。4 ps e 此引數的效果和指定 a 引數相同。5 ps e 列出程式時,顯示每個程式所使用的環境變數。6 ps f ...

ps aux grep 詳細資訊

ps a 顯示現行終端機下的所有程式,包括其他使用者的程式。2 ps a 顯示所有程式。3 ps c 列出程式時,顯示每個程式真正的指令名稱,而不包含路徑,引數或常駐服務的標示。4 ps e 此引數的效果和指定 a 引數相同。5 ps e 列出程式時,顯示每個程式所使用的環境變數。6 ps f 用a...