こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

【PHP】UA判別によるCSSの振り分け

PHPはドのつく初心者です。

現在PHPでCSSの振り分けに挑戦しています。

私が持っている機種はauガラケーとAndroidだけですので、iPhoneなどの挙動確認はFireFoxのUA変更アドオン「User Agent Switcher」で行っております。

auガラケー実機で以下のPHPは正しく振り分けられていたのですが、FireFoxのアドオンにてDoCoMoのUAでアクセスした場合に、ガラケーのCSSに加えてPC(その他)のCSSが読みこまれてしまいました。
<link rel="stylesheet" type="text/css" href="garak.css" media="all">
<link rel="stylesheet" type="text/css" href="design.css" media="all">
↑このような感じです。

auのUAアクセスでも同様の症状が発生していますが、こちらはガラケー本体で動作確認できているので大丈夫だとは思います。もしかしたらちゃんと実機で読みこめば行けるのかな?と思いつつ、不安が残っております。

DoCoMo実機は家にないので確認の仕様がありません。
以下のPHPでDoCoMo機種の動作は正しくいくのでしょうか?

<?php
$ua = $_SERVER['HTTP_USER_AGENT'];

if ((strpos($ua,'DoCoMo') !== false) ||
(strpos($ua,'KDDI') !== false) || (strpos($ua,'UP.Browser') !== false) ||
(strpos($ua,'J-PHONE') !== false) || (strpos($ua,'Vodafone') !== false) ||
(strpos($ua,'SoftBank') !== false)
) {
echo '<link rel="stylesheet" type="text/css" href="garak.css" media="all">';
}

if ((strpos($ua,'iPhone') !== false) || (strpos($ua,'iPod') !== false) ||
(strpos($ua,'Android') !== false)
) {
echo '<link rel="stylesheet" type="text/css" href="smart.css" media="all">';
}

else {
echo '<link rel="stylesheet" type="text/css" href="design.css" media="all">';
}
?>

投稿日時 - 2013-08-14 14:03:52

QNo.8219247

困ってます

質問者が選んだベストアンサー

可変グリットレイアウトを使えばPHPで判別する必要は有りません。
http://blog.dgcr.com/mt/dgcr/archives/20120620140100.html

ドコモに関してはエミュレータアプリが公開されてます。
iPhoneはXcodeと言うアプリにエミュレータアプリが有ります。
(Macのみ)

尚このCSSはIE以外なら使えると思います。

投稿日時 - 2013-08-14 14:42:46

お礼

一応使えるということで安心しました。

また、数日CSSやPHPと向き合っていましたが、可変グリットレイアウトというのは初耳でしたので、そちらを少し調べてみようと思います。

具体的なアプリ名もありがとうございました。

投稿日時 - 2013-08-14 16:29:18

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問