「PHPでユーザー・アクセス情報を表示する」で解説した
サーバ変数 HTTP_USER_AGENT を使えば、
アクセスしてきているのがケータイなのか識別することができる。
そこで今回は、アクセスしてきているのがPCかケータイなのかによって、
表示するコンテンツを自動変更するプログラムを紹介する。
サンプル・プログラム
0001: <?php
0002: /**isKeitai.php
0003: * アクセスしてきているのがケータイだったら isKeitai.html にジャンプする
0004: * @copyright (c)studio pahoo
0005: * @author パパぱふぅ
0006: * @version 1.2 2007/02/04 通常・携帯サイトを1つのプログラムにまとめた
0007: * @version 1.1 2007/02/03 Vodafone 702MO、ソフトバンクモバイルに対応
0008: * @version 1.0 2005/03/19
0009: *
0010: */
0011: /**
0012: * アクセスしてきているのがケータイかどうか調べる
0013: * 現在判明している HTTP_USER_AGENT の値です
0014: * @return bool TRUE:ケータイである/FALSE:ケータイでない
0015: */
0016: function isKeitai() {
0017: //NTT DoCoMo
0018: if (preg_match("/DoCoMo/", $_SERVER['HTTP_USER_AGENT'])) return TRUE;
0019: //旧J-PHONE〜vodafoneの2G
0020: if (preg_match("/J-PHONE/", $_SERVER['HTTP_USER_AGENT'])) return TRUE;
0021: //vodafoneの3G
0022: if (preg_match("/Vodafone/", $_SERVER['HTTP_USER_AGENT'])) return TRUE;
0023: //vodafoneの702MOシリーズ
0024: if (preg_match("/MOT/", $_SERVER['HTTP_USER_AGENT'])) return TRUE;
0025: //SoftBankの3G
0026: if (preg_match("/SoftBank/", $_SERVER['HTTP_USER_AGENT'])) return TRUE;
0027: //au (KDDI)
0028: if (preg_match("/PDXGW/", $_SERVER['HTTP_USER_AGENT'])) return TRUE;
0029: if (preg_match("/UP\.Browser/", $_SERVER['HTTP_USER_AGENT'])) return TRUE;
0030: //ASTEL
0031: if (preg_match("/ASTEL/", $_SERVER['HTTP_USER_AGENT'])) return TRUE;
0032: //DDI Pocket
0033: if (preg_match("/DDIPOCKET/", $_SERVER['HTTP_USER_AGENT'])) return TRUE;
0034:
0035: return FALSE;
0036: }
0037:
0038: //【1】通常サイト ===========================================================
0039: if (isKeitai() == FALSE) {
0040: echo <<< EOF
0041: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
0042: "http://www.w3.org/TR/html4/loose.dtd">
0043: <html lang="ja">
0044: <head>
0045: <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
0046: <title>通常サイト</title>
0047: </head>
0048: <body>
0049: <h1>あたなは携帯電話以外からアクセスしています。</h1>
0050: USER-AGENT: {$_SERVER['HTTP_USER_AGENT']}
0051: </body>
0052: </html>
0053: EOF;
0054: //【2】携帯サイト ===========================================================
0055: } else {
0056: echo <<< EOF
0057: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
0058: "http://www.w3.org/TR/html4/loose.dtd">
0059: <html lang="ja">
0060: <head>
0061: <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
0062: <title>携帯サイト</title>
0063: </head>
0064: <body>
0065: <h1>あたなは携帯電話からアクセスしています。</h1>
0066: USER-AGENT: {$_SERVER['HTTP_USER_AGENT']}
0067: </body>
0068: </html>
0069: EOF;
0070: }
0071: ?>
| 2007年02月04日更新 | ||
| <<前へ | <目次> | 次へ>> |
| 戻る | 【関連ページ】 | |
