1. $_SERVER['HTTP_USER_AGENT'] を使用して、ブラウザーの種類を決定する PHP メソッドを記述します。
function my_get_browser(){
if(empty($_SERVER['HTTP_USER_AGENT'])){
return 'コマンドライン、ロボットがここにあります! ';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 9.0')){
return 'Internet Explorer 9.0';
}
if(false!==strpos($_SERVER[ 'HTTP_USER_AGENT'],'MSIE 8.0')){
return 'Internet Explorer 8.0';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 7.0')){
return 'Internet Explorer 7.0';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 6.0')){
return 'Internet Explorer 6.0';
}
if(false!==strpos($ _SERVER['HTTP_USER_AGENT'],'Firefox')){
return 'Firefox';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Chrome')){
return 'Chrome';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Safari')){
return 'Safari';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'], 'Opera')){
return 'Opera';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'360SE')){
return '360SE';
}
}
$_SERVER['HTTP_USER_AGENT'] は主にここで使用され、ページを閲覧している訪問者が使用しているオペレーティング システム (バージョン番号を含む) とユーザーの個人的な設定を確認するために使用されます。使い方は非常に簡単で、プログラムから印刷するだけで理解できます。
2. さらに、PHP は、PHP システム関数 get_browser() 関数を通じてブラウザの種類を決定することもできます。この関数は、ユーザーのブラウザのパフォーマンス データを返します。この関数は、ユーザーの browscap.ini ファイルを参照して、ユーザーのブラウザのパフォーマンスを測定します。成功した場合、関数はユーザーのブラウザ情報を含むオブジェクトまたは配列を返し、失敗した場合は false を返します。
get_browser 構文
get_browser(user_agent,return_array)
この関数には 2 つのパラメータがあります。パラメータの意味は次のように説明されます。
user_agent はオプションです。 HTTP ユーザー エージェントの名前を指定します。デフォルトは $HTTP_USER_AGENT の値です。 NULL を設定すると、このパラメータをバイパスできます。
return_array オプション。このパラメータが true に設定されている場合、この関数はオブジェクトの代わりに配列を返します。
$_SERVER['HTTP_USER_AGENT'] および get_browser を通じて php によって取得されるブラウザ情報については、次の例で理解できます:
echo $_SERVER['HTTP_USER_AGENT'] "
; Windows NT 5.1; .NET CLR 1.1.4322)
Array(
[browser_name_regex] => ^mozilla/..0
(互換性; msie 6.0.*;.*windows nt 5.1.*.net) clr .*).*$
(互換性; MSIE 6.0*;*Windows NT 5.1*.NET CLR*)*
[親] => ] => WinXP[ブラウザ] => 6
[マイナー] => ; > 1
[cookie] => 1
[vbscript] => 1
[javaapplets] => 1
[activexcontrols] => 1
[cdf] => 1
[aol] =>
[beta] =>
[win16] => >
[stripper] =>
[wap] =>
[ak] =>
[sk] =>
)
ただし、PHP の get_browser() 関数によるクライアントのブラウザ関連情報の取得は条件付きです。これを直接使用すると、通常、次のエラーが報告されます:
警告: get_browser() [function.get-browser]: browscap ini directive not set in ……
PHP マニュアルを参照すると、次のように説明されています。 この関数を使用するには、php.ini ファイル内の browscap.ini ファイルに構成ポイントを追加する必要があります。browscap.ini ファイルには、既存のすべてのブラウザの種類とその情報が記録されます。したがって、最新のファイルをダウンロードし、browscap.ini をサーバー上のどこかに配置する必要があります。 get_browser() を使用すると、取得したクライアント情報がこのファイルと比較され、見つかった場合は、対応するタイプが返されます。
上記のことから、ブラウザの種類を取得するために get_browser() を使用するのは安くないことがわかります。
3. PHP でブラウザの種類を判断する別の方法は、外国の専門家によって書かれたオープンソース コードを使用することです。海外には mavrick というブラウザ プロジェクトがあり、作成した Browser クラスは更新され続けており、私が見た最新のクラスは iPhone、BlackBerry、win、mac、linux、OS、BeOS などのプラットフォームで入手できます。ブラウザ情報機能は非常に強力だと言えます。このファイルをダウンロードするときは、使用している PHP バージョンに応じて選択する必要があります。このクラスの具体的なコードを自分でダウンロードして調べてください:
browser-v1-9
このクラスの使用方法も次のように非常に簡単です:
$obj_browser = new Browser; //このクラスのインスタンスを作成します。
$obj_browser ->getBrowser(); //関連する関数を呼び出してブラウザ名を取得します
$obj_browser->getPlatform(); //関連する関数を呼び出してシステム名を取得します
$obj_browser->isMobile( ); // 着信を判断 ユーザーが使用するデバイスは iPhone、iPad、またはコンピューター (PC) です