php有個預定義變數 $_server,是個陣列,其中包含了很多資訊,遍歷這個陣列便可以找到我們感興趣的東西。
function getrequestinfo()}
這裡列印了很多資訊,我們需要的是url相關的,先來看看url包含哪些組成部分。
url的訪問方式有:訪問方式 => key: "server_protocol",value: "http/1.1"1.ftp —— 檔案傳送協議 ftp
2.http —— 超文字傳送協議 http
3.news —— usenet 新聞
《主機》 是存放資源的主機在網際網路中的網域名稱
主機 => 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...