ホームページ >バックエンド開発 >PHPチュートリアル >php $_SERVER['HTTP_USER_AGENT'] の使い方紹介_PHPチュートリアル

php $_SERVER['HTTP_USER_AGENT'] の使い方紹介_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:15:362889ブラウズ

php では、HTTP_USER_AGENT を使用して、ユーザーのブラウザー、オペレーティング システム プロジェクト、alex ツールバーがインストールされているかどうか、その他の情報を含むユーザー関連の情報を取得します。


1. ユーザーがサーバーにアクセスすると、PHP スーパーグローバル変数 $_SERVER 配列のフィールド ['HTTP_USER_AGENT'] を使用して、アクセスするユーザーのすべての情報を取得します

コードは次のとおりです コードをコピー

echo $_SERVER['HTTP_USER_AGENT'];
?>

結果を出力する

Mozilla/4.0 (互換性; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; InfoPath.2; AskTbPTV/5.17.0.25589; Alexa ツールバー)

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

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

ブラウザのオペレーティング システム情報
ブラウザ: Chrome 5.0

プラットフォーム: Windows 7

コードは次のとおりです コードをコピー

//訪問ユーザーのブラウザ情報を表示します
echo 'ブラウザ: ' . detectbrowser($Agent) ';
// 訪問ユーザーのオペレーティング システム プラットフォームを表示します
echo 'プラットフォーム: ' .determinedplatform($Agent).

//$_SERVER['HTTP_USER_AGENT'] の文字列の肯定表現の比較と分析を行い、訪問ユーザーのブラウザに関する情報を取得します

関数決定ブラウザ ($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="オペラ";
} 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="サファリ";
$browserversion="";
}
他に{
$browserversion="";
$browseragent="不明";
}
$browseragent を返します。" ".$browserversion;
}

// 同理获取访问使用者の浏览器の情報
関数決定プラットフォーム ($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 (ereg('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 (ereg('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 = "不明"; }
$browserplatform を返します;
}

?>

判断者の言葉の具体的な手順は次のとおりです

代码如下 复制幣

$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4); // 前 4 桁だけを取得し、最も好ましい発言のみを判断します。前 5 桁を取得すると、en,zh の状況が発生し、判断に影響を与える可能性があります。 if (preg_match("/zh-c/i", $lang))
echo "简体中文"; 
else if (preg_match("/zh/i", $lang))
エコー「繁?中文」; 
else if (preg_match("/en/i", $lang))
「英語」をエコーし​​ます。 
else if (preg_match("/fr/i", $lang))
「フランス語」をエコーし​​ます。 
else if (preg_match("/de/i", $lang))
「ドイツ語」をエコーし​​ます。 
else if (preg_match("/jp/i", $lang))
「日本語」をエコーし​​ます。 
else if (preg_match("/ko/i", $lang))
「韓国語」をエコーし​​ます。 
else if (preg_match("/es/i", $lang))
「スペイン語」をエコーし​​ます。 
else if (preg_match("/sv/i", $lang))
「スウェーデン語」をエコーし​​ます。 
それ以外の場合は、 $_SERVER["HTTP_ACCEPT_LANGUAGE"] をエコーし​​ます。 
?>

分析サーバーの種類は主に分析_SERVER["HTTP_USER_AGENT"] の内容であるのに対して、分析サーバーの発言は分析_SERVER["HTTP_ACCEPT_LANGUAGE"] であると判断します。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/628805.html技術記事 php では、HTTP_USER_AGENT は、ユーザーのブラウザ、オペレーティング システム プロジェクト、alex ツールバーがインストールされているかどうか、その他の情報を取得するために使用されます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。