ホームページ  >  記事  >  バックエンド開発  >  PHPでクライアントのブラウザとオペレーティングシステムの情報を取得する方法

PHPでクライアントのブラウザとオペレーティングシステムの情報を取得する方法

巴扎黑
巴扎黑オリジナル
2016-11-22 11:45:491643ブラウズ

よりインテリジェントなプログラムでは、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、Gecko など) Chrome/5.0.342.3

2. 正規表現を使用して、ユーザーのブラウザーおよびオペレーティング システムの情報を照合します。

3. PHP は、一致した文字列 (ユーザーのブラウザ オペレーティング システム情報) に基づいて必要な CSS、JS などを割り当て、それをユーザーに返します

私のブラウザとオペレーティング システムの情報:
ブラウザ: Chrome 5.0
プラットフォーム: Windows 7

完全な例を以下に示します。
//訪問ユーザーのブラウザ情報を表示します
echo 'Browser: ' . destroybrowser($Agent) '
';
//訪問ユーザーのオペレーティング システム プラットフォームを表示します
echo 'Platform: ' . detectplatform($Agent). '
'

//link: http://www.jbxue.com
//$_SERVER['HTTP_USER_AGENT' の肯定的な表現の比較と分析] 訪問ユーザーのブラウザの情報を取得する文字列
function detectbrowser ($Agent) {
$browseragent="" //ブラウザ
$browserversion="" //ブラウザのバージョン
if('MSIE ([ 0 -9].[0-9]{1,2})',$Agent,$version)) {
$browserversion=$version[1];
$browseragent="Internet Explorer"; ( 'Opera/([0-9]{1,2}.[0-9]{1,2})',$Agent,$version)) {
$browserversion=$version[1]; ="オペラ";
} else if (ereg( 'Firefox/([0-9.]{1,5})',$Agent,$version)) {
$browserversion=$version[1];ブラウザエージェント = "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 {
$browseragent="Unknown";
}
return $browseragent." ".$browserversion; way ユーザーのブラウザ情報
function detectplatform ($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"; (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' ,$エージェント)) {
$browserplatform="Mac OS";
}
elseif (eregi('linux',$Agent)) {
$browserplatform="Linux"
}
elseif (eregi('unix', $Agent) )) {
$browserplatform="Unix";
elseif (eregi('sun',$Agent) && eregi('os',$Agent)) {
$browserplatform="SunOS"; eregi('ibm',$Agent) && eregi('os',$Agent)) {
$browserplatform="IBM OS/2"
}
elseif (eregi('Mac',$Agent) && eregi (' PC',$エージェント)) {
$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 = "不明"; }
$browserplatform を返す; 
}
?> 

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。