首頁  >  文章  >  後端開發  >  php獲取客戶端瀏覽器以及作業系統資訊的方法

php獲取客戶端瀏覽器以及作業系統資訊的方法

巴扎黑
巴扎黑原創
2016-11-22 11:45:491643瀏覽

在較為智能的程式中,php可以獲取客戶端瀏覽器及操作系統信息,然後根據瀏覽器及系統類型,加載不同的頁面,以提供更加個性化的服務。 

下面我們就一起來學習如何使用php獲取客戶端瀏覽器與操作系統信息,有興趣的朋友可以參考下。

1、PHP超級全域變數$_SERVER陣列中欄位['HTTP_USER_AGENT'] 取得存取使用者的所有資訊 
以下是透過$_SERVER['HTTP_USER_AGENT']所取得的字串: 
Mozilla/5.0 (Windows Ud U. ; Windows NT 6.1; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.3 Safari/533.2 

2、使用正規表示式符合以上字串,使用者的瀏覽器、作業系統資訊。

3、PHP根據符合後的字串(使用者的瀏覽器作業系統資訊),分配所需的CSS、JS等,回傳給使用者 

我的瀏覽器與作業系統資訊: 
Browser: Chrome 5.0 
Platform : Windows 7 

下面舉出一個完整的範例。
//顯示存取使用者的瀏覽器資訊 
echo 'Browser: ' . determinebrowser($Agent) . '
'; 
//顯示存取使用者的作業系統平台 
echo 'Platform: '. determineplatform($Agent). '
'; 

//link:http://www.jbxue.com 
//正值表達式比對解析$_SERVER['HTTP_USER_AGENT']中的字串取得存取使用者的瀏覽器的資訊 
function determinebrowser ($Agent) { 
$browseragent=""; //瀏覽器 
$browserversion=""; //瀏覽器的版本 
if (ereg('MSIE ([0-9 ].[0-9]{1,2})',$Agent,$version)) { 
$browserversion=$version[1]; 
$browseragent="Internet Explorer"; 
} else if (ereg( ' Opera/([0-9]{1,2}.[0-9]{1,2})',$Agent,$version)) { 
$browserversion=$version[1]; 
$browseragent=" Opera"; 
} else if (ereg( 'Firefox/([0-9.]{1,5})',$Agent,$version)) { 
$browserversion=$version[1]; 
$browseragent== "Firefox"; 
}else if (ereg( 'Chrome/([0-9.]{1,3})',$Agent,$version)) { 
$browserversion=$version[1]; 
$browseragent ="Chrome"; 

else if (ereg( 'Safari/([0-9.]{1,3})',$Agent,$version)) { 
$browseragent="Safari"; 
$browserversion =""; 

else { 
$browserversion=""; 
$browseragent="Unknown"; 

return $browseragent." ".$browserversion.器的訊息 
function determineplatform ($Agent) { 
$browserplatform==''; 
if (eregi('win',$Agent) && strpos($Agent, '95')) {$ "; 

elseif (eregi('win 9x',$Agent) && strpos($Agent, '4.90')) { 
$browserplatform="Windows ME"; 
} Agent) && ereg('98',$Agent)) { 
$browserplatform="Windows 98"; 

elseif (eregi('win',$Agent) && eregi('nt 5.0',$Agent)) {
$browserplatform="Windows 2000"; 

elseif (eregi('win',$Agent) && eregi('nt 5.1',​​$Agent)) { 
$browserplatform="Windows XP"; eregi('win',$Agent) && eregi('nt 6.0',$Agent)) { 
$browserplatform="Windows Vista"; 

elseif (eregi('win',$Agent) && eregi('nt 6.1',$Agent)) { 
$browserplatform="Windows 7"; 

elseif (eregi('win',$Agent) && ereg('32',$Agent)) { 
$browlatform="Windows$brow "; 

elseif (eregi('win',$Agent) && eregi('nt',$Agent)) { 
$browserplatform="Windows NT"; 
}elseif (eregi('Macse OS',$Agent )) { 
$browserplatform="Mac OS"; 

elseif (eregi('linux',$Agent)) { 
$browserplatform="Linux"; 

$browserplatform="Linux"; 

) { 
$browserplatform="Unix"; 

$browserplatform="Unix"; 

elseif (eregi('sun',$Agent) && eregi('os',$Agent)) { 
$browserplatform="SunOS"; ('ibm',$Agent) && eregi('os',$Agent)) { 
$browserplatform="IBM OS/2"; 

elseif (eregi('Mac',$Agent) && eregi('PC ',$Agent)) { 
$browserplatform="Macintosh"; 

elseif (eregi('PowerPC',$Agent)) {
$browserplatform="PowerPC"; 

elseif (eregi('AIX',$Agent)) {
$browserplatform="AIX"; 

elseif (eregi('HPUX',$Agent)) {
$browserplatform="HPUX"; 

elseif (eregi('NetBSD',$Agent)) {
$browserplatform="NetBSD"; 

elseif (eregi('BSD',$Agent)) {
$browserplatform="BSD"; 

elseif (ereg('OSF1',$Agent)) {
$browserplatform="OSF1"; 

elseif (ereg('IRIX',$Agent)) { 
$browserplatform="IRIX"; 

elseif (eregi('FreeBSD',$Agent)) {
$browserplatform="FreeBSD"; 

if ($browserplatform=='') {$browserplatform = "未知"; } 
return $browserplatform; 

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn