2011-05-05 102 views
-1

如何將客戶端瀏覽器數據保存在PHP數組中?PHP如何訪問有關客戶端瀏覽器的信息?

PHP在服務器端運行,所以我不明白它如何訪問有關客戶端瀏覽器的信息。

+1

你指的是哪個「客戶端瀏覽器數據」? – 2011-05-05 14:29:12

+0

瀏覽器名稱,版本等... – 2011-05-05 14:30:06

回答

1

客戶端發送數據到服務器使用來構建陣列的服務器(我假設你在談論$_GET$_POST$_SERVER等)

+0

當用戶請求一個PHP頁面時,它總是發送完整的瀏覽器信息?我不這麼認爲,因爲這會導致更多的流量 – 2011-05-05 14:31:50

+0

嗯,是的,它的確如此。 HTTP是一種無狀態協議。它有自己的方法在請求之間保存數據。如果您的瀏覽器通過將您與PHP會話關聯來發送標識您的cookie有效負載和/或GET/POST變量,PHP的解釋器在任何給定請求中可以知道您的唯一方式。 – 2011-05-05 14:37:11

0

$_REQUEST

的關聯數組默認包含$ _GET,$ _POST和$ _COOKIE的內容。

1

User agent data通常與每個HTTP請求一起發送,在User-AgentHTTP header field。一般來說,您可能需要閱讀HTTP message formats。例如,這是我的瀏覽器發送到加載jQuery的這個非常頁面上的HTTP請求的一部分:

GET http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js HTTP/1.1 
Accept-Encoding: gzip,deflate,sdch 
Accept-Language: en-US,en;q=0.8 
Connection: keep-alive 
If-Modified-Since: Fri, 01 Apr 2011 21:23:55 GMT 
Accept-Charset: UTF-8,*;q=0.5 
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.60 Safari/534.24 
Accept: */* 

PHP讀取你問從User-Agent頭字段客戶端瀏覽器的數據。

1

您將在這裏找到它

$_SERVER['HTTP_USER_AGENT'] 

您可能需要通過正則表達式來解析這個分別獲得瀏覽器名稱和版本。

0

當請求一個新頁面時,數據由瀏覽器提供,PHP只是將它放入數組中以方便使用。

您應該先閱讀一些關於HTTP(開頭爲GET和POST)和HTTP標頭的內容。

相關問題