javascriptファイルやcssファイル等をブラウザごとに振り分ける場合、もちろんcss、javascript単体でも出来るのですがサーバーサイドで行う事もできるとかなり便利です。PHPの場合はget_browserという標準関数があってユーザのプラットフォームの情報が取得できるのですが、結構用意が必要なのでちょっと紹介。
この関数USER_AGENTを判別をしてオブジェクトを返してくれるという関数なのですが、オプションを指定すると配列を返す事も可能みたいです。以下の例だとUSER_AGENTを配列に分割して返す形になります。
$platform = get_browser(null, true); echo '<pre>'; print_r($platform); echo '</pre>';
Array ( [browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$ [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9* [parent] => Firefox 0.9 [platform] => WinXP [browser] => Firefox [version] => 0.9 [majorver] => 0 [minorver] => 9 [css] => 2 [frames] => 1 [iframes] => 1 [tables] => 1 [cookies] => 1 [backgroundsounds] => [vbscript] => [javascript] => 1 [javaapplets] => 1 [activexcontrols] => [cdf] => [aol] => [beta] => 1 [win16] => [crawler] => [stripper] => [wap] => [netclr] => ) ?>
こんな感じでjavascriptが可能かどうかや、ブラウザのメジャーバージョンまで返してくれるのでかなり便利なget_browserですが、サーバー側のphp.iniの設定が必要になります。
まず、Browser Capabilities Projectから最新のphp_browscap.iniファイルをダウンロードしてきます。リンク先の上から三番目のファイルです(Use only with PHP!と書いてある奴)。それをサーバーの任意の場所にアップロードしてphp.ini内で場所を指定してあげます。
[browscap] browscap = /path/to/php_browscap.ini
上記設定をしてからサーバー再起動して使えるようになる。この情報を元に振り分けてあげればOKかなっと。