天天看點

php 擷取用戶端浏覽器,php擷取用戶端浏覽器與作業系統資訊的方法

下面我們就一起來學習如何使用php擷取用戶端浏覽器與作業系統資訊,有興趣的朋友可以參考下。

1、PHP超級全局變量$_SERVER數組中字段['HTTP_USER_AGENT'] 擷取通路使用者的所有資訊

以下是一個通過$_SERVER['HTTP_USER_AGENT']擷取到的字元串 :

Mozilla/5.0 (Windows; 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). '

';

//正值表達式比對解析$_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;

}

// 同理擷取通路使用者的浏覽器的資訊

//link:#

function determineplatform ($Agent) {

$browserplatform=='';

if (eregi('win',$Agent) && strpos($Agent, '95')) {

$browserplatform="Windows 95";

}

elseif (eregi('win 9x',$Agent) && strpos($Agent, '4.90')) {

$browserplatform="Windows ME";

}

elseif (eregi('win',$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";

}

elseif (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)) {

$browserplatform="Windows 32";

}

elseif (eregi('win',$Agent) && eregi('nt',$Agent)) {

$browserplatform="Windows NT";

}elseif (eregi('Mac OS',$Agent)) {

$browserplatform="Mac OS";

}

elseif (eregi('linux',$Agent)) {

$browserplatform="Linux";

}

elseif (eregi('unix',$Agent)) {

$browserplatform="Unix";

}

elseif (eregi('sun',$Agent) && eregi('os',$Agent)) {

$browserplatform="SunOS";

}

elseif (eregi('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 = "Unknown"; }

return $browserplatform;

}

?>

您可能感興趣的文章:

PHP判斷浏覽器類型的代碼

php 擷取通路者浏覽器的代碼

php判斷浏覽器類型,浏覽器語言等資訊的代碼