ユーザーエージェントを使ってPCとモバイルで処理や表示を分けるPHPのコード
アクセスされたユーザーエージェントで判定し、PCとモバイルで処理や表示を分けるPHPのコードのメモです。
preg_match のところで指定されているユーザーエージェントがモバイル端末とみなされます。場合によってここへユーザーエージェントを追加、又は削除して下さい。詳しいユーザーエージェントはこちらの”userAgent一覧/ユーザーエージェント一覧 ”サイトに詳しく書かれていました。
携帯とスマートフォンなどもっと細かく分けたい場合は以下の参考サイトにもっと細かくわけたコードがのっています。今回のコードも全体的に参考にさせて頂きました。
<?php function mobile_judg () { // ↑任意の関数名 mobile_judg をつくる $ua = $_SERVER['HTTP_USER_AGENT']; // ↑ユーザーエージェント取得 if (preg_match('/UP\.Browser|KDDI|DoCoMo|J-PHONE|Vodafone|SoftBank|MOT-|L-mode|DDIPOCKET|WILLCOM|PDXGW|ASTEL|iPad|iPhone|iPod|Android.*Mobile|Opera Mini|Opera Mobi|SAMSUNG|Windows.*Phone|dream|blackberry|CUPCAKE|webOS|incognito|webmate/', $ua)) { // ↑取得したユーザーエージェントに、上記文字列のいずれかが入っているかどうか $mobile = true; // ↑文字列が入っている(モバイルだった場合)true を入れる } else { $mobile = false; // ↑文字列が入っていない(PCだった場合)false を入れる } return $mobile; } ?>
表示したいところへ以下を記入して mobile_judg() を呼び出します。mobile_judg() が false なら PC の表示。それ以外ならモバイル端末の表示となっています。
<?php if (mobile_judg() == false): ?> PCに対しての処理やHTML <?php else: ?> モバイル端末に対しての処理やHTML <?php endif; ?>
No Comments & Tracbacks