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
コードは次のとおりです:
//訪問ユーザーのブラウザに関する情報を取得するための $_SERVER['HTTP_USER_AGENT'] の文字列の肯定的な式の比較と分析
function destroybrowser ($Agent) {
$browseragent="" //Browser
$ 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];
$browseragent="Chrome";
}
else if (ereg( 'Safari/([0-9.]{1,3 })',$ Agent,$version)) {
$browseragent="Safari";
$browserversion="";
}
else {
$browserversion="";
$browseragent="Unknown";
}
$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 ',$Agent) && eregi('nt 6.1',$Agent)) {
$browserplatform="Windows 7";
}
elseif (eregi('win',$Agent) && ereg('32',$エージェント )) {
$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 (エレギ( 'FreeBSD',$Agent)) {
$browserplatform="FreeBSD";
}
if ($browserplatform=='') {$browserplatform = "不明" }
return $browserplatform;
}
?>