2011-11-14 54 views
0

我想用PHP僅捕獲一個Web請求的簡單信息。我可以存儲哪些變量?這是我到目前爲止有:基本PHP網絡分析

https://gist.github.com/1363218

我對這個功能的心願:

  • 打開語言到由權重來排序的關聯數組
  • 添加全名語言
  • 歇服務器軟件到關聯數組
  • 獲取平臺的確切版本,例如'Windows 7 SP1'而不是'Windows'
  • 分類的要求,因爲從一個移動設備,平板電腦或臺式機

我缺少其他任何可能有用的是?

+0

你檢查過嗎? http://php.net/manual/en/reserved.variables.server.php – Bryan

+0

另外一個簡單的'phpinfo(INFO_VARIABLES)'頁面會告訴你。 – mario

+0

訪問日誌中提供了URI,IP和時間戳。任何你想添加另一層日誌的理由? –

回答

4

所有可用的信息都在變量中,因此找到想要的東西的簡單方法是看看$GLOBALS。創建一個新的PHP文件並執行print_r($GLOBALS);,您將看到腳本收集的每個信息。

這包括從http頭(charset,encoding,language)到cookies,瀏覽器和操作系統的所有內容。

+1

我會用'echo'

'; print_r($GLOBALS); echo '
';'爲了便於閱讀,但是,最好從這裏開始,以便+1 – Drew

0

$ _SERVER ['HTTP_USER_AGENT']。 這可以讓你瞭解用戶的操作系統以及他們的瀏覽器。 例如 的Mozilla/5.0(在Macintosh; U; PPC的Mac OS X; EN)

0

帶你需要什麼:http://php.net/manual/en/reserved.variables.php

PHP_SELF /blog/article.php 
GATEWAY_INTERFACE CGI/1.1 
SERVER_ADDR  Server IP: 217.112.82.20 
SERVER_NAME  www.URL.co.uk 
SERVER_SOFTWARE  Apache/2.2.15 (Win32) JRun/4.0 PHP/5.2.13 
SERVER_PROTOCOL  HTTP/1.0 
REQUEST_METHOD GET/POST/PUT/HEAD 
REQUEST_TIME Request start time: 1280149029 
QUERY_STRING id=10&user=foo 
DOCUMENT_ROOT /path/to/your/server/root/ 
HTTP_ACCEPT  text/html,application/xhtml+xml,application/xml;q=0.9 
HTTP_ACCEPT_CHARSET  ISO-8859-1,utf-8;q=0.7,*;q=0.7 
HTTP_ACCEPT_ENCODING gzip,deflate 
HTTP_ACCEPT_LANGUAGE en-gb,en;q=0.5 
HTTP_CONNECTION  keep-alive 
HTTP_HOST www.URL.co.uk 
HTTP_REFFERER http://previous.url.com 
HTTP_USER_AGENT  Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6 (.NET CLR 3.5.30729) 
HTTPS 1 
REMOTE_ADDR  193.60.128.69 
REMOTE_HOST  Client server's host name 
REMOTE_PORT  5390 
SCRIPT_FILENAME  /path/to/this/script.php 
SERVER_ADMIN [email protected] 
SERVER_PORT  80 
SERVER_SIGNATURE Version signature: 5.123 
SCRIPT_NAME  /blog/article.php 
REQUEST_URI  /blog/article.php