ドキュメント見てたら Agent とあったんで気になってさわってみました。
PHPでユーザエージェントを判別する場合
$agent = $_SERVER['HTTP_USER_AGENT'];
これでユーザエージェントを取得することができます。
しかし、これから各ブラウザ、またデバイスを仕分けるのはなかなか面倒な作業だったと思いますが、これが一発で判別できます。
// 従来のユーザエージェント取得
$data['ua'] = $_SERVER['HTTP_USER_AGENT'];
// ブラウザ名
$data['browser'] = Agent::browser();
// バージョン
$data['version'] = Agent::version();
// プラットフォーム名
$data['platform'] = Agent::platform();
// モバイル判別
$data['mobile'] = 'false';
if (Agent::is_mobiledevice())
{
$data['mobile'] = 'true';
}
// クローラ判別
$data['robot'] = 'false';
if (Agent::is_robot())
{
$data['robot'] = 'true';
}
これをViewに渡して表示すると
上のコードではそれぞれ個別にデータを情報を取得しましたが一発ですべてのデータも取得できます。
// ブラウザのすべてのプロパティを取得
$agent = Agent::properties();
$data['browser'] = $agent['browser'];
$data['version'] = $agent['version'];
$data['platform'] = $agent['platform'];
$data['mobile'] = 'false';
if ($agent['ismobiledevice'])
{
$data['mobile'] = 'true';
}
$data['robot'] = 'false';
if ($agent['crawler'])
{
$data['robot'] = 'true';
}
これでしても結果は同じです。
ほかにもあるのでその辺りはマニュアルを参照してください。
http://docs.fuelphp.com/classes/agent/usage.html
※2012.7.4
iPadって mobile ?て聞かれたんで試してみました。
iPadは mobile です!



0 件のコメント:
コメントを投稿