1. ユーザーがサーバーにアクセスすると、PHP スーパーグローバル変数 $_SERVER 配列のフィールド ['HTTP_USER_AGENT'] を使用して、アクセスするユーザーのすべての情報を取得します
訪問時の$_SERVER['HTTP_USER_AGENT'] 文字列:
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.2 (Gecko のような KHTML) Chrome/5.0.342.3 Safari/533.2
2. 正規表現を使用して、上記の文字列とユーザーのブラウザのオペレーティング システム情報を照合します
3. PHP は、一致した文字列 (ユーザーのブラウザのオペレーティング システム情報) に基づいて必要な CSS ファイル、JS などを割り当て、ユーザーに返します
私のブラウザのオペレーティング システム情報
ブラウザ: Chrome 5.0
プラットフォーム: Windows 7
コードは次のとおりです:
コードをコピーしますコードは次のとおりです:
//訪問ユーザーのブラウザ情報を表示します
echo 'Browser: ' . detectbrowser($Agent) '
';
//訪問ユーザーのオペレーティング システム プラットフォームを表示します
echo 'Platform : ' . 決定プラットフォーム($ エージェント)。
//$_SERVER['HTTP_USER_AGENT'] の文字列の肯定的な式の比較と分析を行い、アクセスしているユーザーのブラウザに関する情報を取得します
function destroybrowser ($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]; ="Chrome";
}
else if (ereg( 'Safari/([0-9.]{1,3})',$Agent,$version)) {
$browseragent= Safari";
$browserversion="";
}
else {
$browserversion="";
$browseragent="Unknown";
}
return $browseragent ." ".$browserversion;
}
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";
}
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 (ereg('FreeBSD',$Agent)) {
$ browserplatform="FreeBSD";
}
if ($browserplatform=='') {$browserplatform = "Unknown" }
return $browserplatform;
}