環境変数と携帯サイト

 普段仕事ではPHPを使って携帯サイトなども作っていますが、携帯サイトを作る上で最も基本的なものが、携帯の機種の判別です。i-モード対応のサイトの作成は通常のHTMLで大丈夫ですが、auなどにも対応した携帯サイトを作るとなると、事はちょっと厄介です。

 最近では、auの方もサーバ側で通常のHTMLをHDML風に自動変換してくれるようになったみたいですが、やはり環境変数を利用して接続して来た携帯の機種を判別し、それぞれ処理を振り分けてやった方がベストでしょう。

環境変数の利用

 携帯電話の機種を判別するには、以下の環境変数を利用します。

$_SERVER['HTTP_USER_AGENT']

通常はこの環境変数に含まれる情報を、以下のようにexplode( )関数を使って「/」で区切って配列に分け、その最初の情報$user_agent[0]を使って携帯の機種を判別します。

$user_agent= explode( "/", $_SERVER['HTTP_USER_AGENT']);

 もし$user_agent[0]に含まれる情報が「UP.Browser」や「PDXGW」ならば、その携帯電話は旧型auと判別できます。この場合は、HDMLに合った処理を記述してやりましょう。

if(($user_agent[0] == "UP.Browser") || ($user_agent[0] == "PDXGW")){

HDMLに合った処理を記述

}else{

通常のHTMLを記述

}

携帯の機種が旧型auでない場合は通常のHTMLで大丈夫ですから、携帯の画面に合った記述をしてやればO.K.です。ボーダフォン(旧J-PHONE)の古い機種では、一部通常のHTMLに対応していない所があるようですが、まあ大体は大丈夫なので問題はないでしょう。詳しくは携帯サイト作成の書籍をご参照下さい。

参考スクリプト

 以下の内容のPHPファイルを作成してサーバに置き、ご自分の携帯電話からアクセスして見て下さい。

<?php
//振り分け
$user_agent= explode( "/", $_SERVER['HTTP_USER_AGENT']);
echo $user_agent[0] . "<BR>";
echo $user_agent[1];
?>

例:http://www.komonet.ne.jp/~php/agent.php

最大の問題点

 携帯サイトを作る上での最大の問題は、HTMLとHDMLでのCGIなどのフォームの記述方法の違いです。使用しているブラウザが違いますから、これも仕方のない事なんでしょうが、掲示板やフォームメールなどで入力フォームを作る場合にはちょっと苦労します。au向けの携帯サイトの作成方法については、以下のサイトをご参照下さい。

http://www.au.kddi.com/ezfactory/index.html

ちなみに、僕はauの携帯電話を利用しています。えっ、決して宣伝じゃありませんよ(^^ゞ

au最新事情

 auの上記サイトをご覧頂ければ分かると思いますが、auの新機種では従来のHDMLから独自仕様のXHTMLに移行しているようです。書き方自体はHTMLに近いものになっていますので、かなり作りやすくなっていると思います。現在auでは、HDML、及びXHTML、HTMLページをauサーバにて相互変換して対応させているようです。

スーパーグローバル変数 前へ

HOME

次へ セッション管理