php でブラウザの種類を判断したい場合、操作方法は非常に簡単です。グローバル変数 HTTP_USER_AGENT を使用してユーザーのブラウザ情報を取得するだけで、通常のルールを使用して種類やブラウザのバージョンを判断できます。
PHP はブラウザの種類とブラウザの言語をどのように判断するのでしょうか? ブラウザはサーバーに接続するときに、最初に独自の情報 (ブラウザの種類、言語) を含むコンテンツを送信するからです。
ここでは主に _SERVER["HTTP_USER_AGENT"] (ブラウザの種類) と _SERVER["HTTP_ACCEPT_LANGUAGE"] (ブラウザの言語) を分析します。
これらの内容を読み取り、strpos または preg_match 関数を使用して比較するだけです。
ブラウザの種類を決定します:
PHP コード部分が最初に示されているので、必要な場合は自分で追加できます。 (以下のコードには小さなエラーがあります。記事を読んで自分で修正してください)
コードは次のとおりです |
コードをコピー |
if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 9.0"))
echo "Internet Explorer 9.0";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 8.0"))
echo "Internet Explorer 8.0";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 7.0"))
echo "Internet Explorer 7.0";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 6.0"))
echo "Internet Explorer 6.0";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox"))
「Firefox」をエコー;
else if(strpos($_SERVER["HTTP_USER_AGENT"],"Chrome"))
「Chrome」をエコーします;
else if(strpos($_SERVER["HTTP_USER_AGENT"],"Safari"))
「サファリ」をエコー;
else if(strpos($_SERVER["HTTP_USER_AGENT"],"Opera"))
エコー「オペラ」;
それ以外の場合は echo $_SERVER["HTTP_USER_AGENT"];
?>
|
Opera ブラウザを開くと、次のようにページのリクエスト ヘッダー情報が表示されます:
Opera/9.80 (Windows NT 5.1; U; Edition IBIS; zh-cn) Presto/2.10.229 バージョン/11.61
ただし、strpos($_SERVER["HTTP_USER_AGENT"],"Opera") によって返される値は常に "0" です
解決策は比較的簡単です
コードは次のとおりです |
コードをコピー |
else if(strpos($_SERVER["HTTP_USER_AGENT"],"Opera"))
を に置き換えます
else if(strpos($_SERVER["HTTP_USER_AGENT"],"pera"))
|
以下は、ブラウザ ユーザーであるか、seo/seo.html" target="_blank">検索エンジンであるかを判断するためのより強力な方法です
コードは次のとおりです |
コードをコピー |
関数 my_get_browser(){
if(empty($_SERVER['HTTP_USER_AGENT'])){
「コマンドライン、ロボットがやって来ます!」を返します。 ';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 9.0')){
「Internet Explorer 9.0」を返します;
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 8.0')){
「Internet Explorer 8.0」を返します;
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 7.0')){
「Internet Explorer 7.0」を返します;
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 6.0')){
「Internet Explorer 6.0」を返します;
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Firefox')){
「Firefox」を返します;
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Chrome')){
「Chrome」を返します;
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Safari')){
「サファリ」を返します;
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Opera')){
「オペラ」を返します;
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'360SE')){
'360SE' を返します;
}
}
|
http://www.bkjia.com/PHPjc/628724.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/628724.html技術記事 PHP でブラウザの種類を判断したい場合、操作方法は非常に簡単です。グローバル変数 HTTP_USER_AGENT を使用してユーザーのブラウザ情報を取得するだけで、通常の ...