サンプル集  >  PHP  >  携帯からのアクセス
携帯からのアクセス
2008/11/09

携帯からアクセスがあった場合、携帯用の軽いページに飛ばすようにしたいです。

◆環境
OS Windows Vista Home Premium
PHP 5.2.4

$_SERVERのHTTP_USER_AGENTでアクセス元を判断できるようです。

どんな値が設定されているのか表示してみます。

accessCheck.php
1: 
2: 
3: 
<?php
    echo $_SERVER{'HTTP_USER_AGENT'}."\n";
?>

PCでブラウザからアクセスしてみます。

i-modeシュミレーターでアクセスしてみます。

携帯のメーカー毎に以下の文字列を含むようなので、これを判断すれば良さそうですね。

DoCoMoDoCoMo
SoftBankSoftBank
MOT
vodafone
J-PHONE
AUUP.Browser

DoCoMoかどうか判定しページを遷移するようにしてみます。

accessCheck2.php
 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
<?php
    $UA = $_SERVER{'HTTP_USER_AGENT'};
    if (substr_count($UA,"DoCoMo")) {
        header("Location:"
              +" http://localhost/accessCheck2-docomo.html");
        exit;
    } else {
        header("Location:"
              +" http://localhost/accessCheck2-pc.html");
        exit;
    }
?>

DoCoMo用のページです。

accessCheck2-docomo.html
1: 
2: 
3: 
4: 
5: 
<html>
<body>
◆DoCoMo用のページです。
</body>
</html>

DoCoMo以外で表示されるページです。

accessCheck2-pc.html
1: 
2: 
3: 
4: 
5: 
<html>
<body>
◆PC用のページです。
</body>
</html>

まずはPCからアクセスしてみます。

続いて、i-modeシュミレーターからアクセスしてみます。

i-modeシュミレーター(DoCoMo)からアクセスしたときはちゃんとDoCoMo用のページに遷移しました。


2015/08/20 追記

HTTP_USER_AGENTの値はクライアント側のプログラムが設定する情報のようなので、詐称が可能な点を留意して利用する必要があるそうです。。。

▲ PageTop  ■ Home


Copyright (C) 2008 - 2015 ymlib.com