携帯サイトを製作する際にもっとも考えるところは、携帯キャリアごとに
違う仕様をどう対応するのかということ。
そこで便利なツールが、Net_UserAgent_Mobile
PEARサイトからダウンロードできる。
PEAR :: Package :: Net_UserAgent_Mobile
これを使えば、キャリアはもちろんのこと携帯の機種やブラウザまで判別できる。
(サーバーにインストールする場合には、各ファイルのインクルードパスを
環境に応じて変更する必要がある。)
あとは、キャリア毎に用意したURLに振り分けるか読み込むCSSを変えるとよい。
今回製作した携帯サイトでは、絵文字を使っているためあらかじめ用意した
URLに振り分けることにした。
ドコモ・au・ソフトバンク以外(ウィルコムなど)は、基本がフルブラウザなので
PCと同様の扱いでPC用サイトに誘導するようにしてみました。
<?php
//PEAR::Net_UserAgent_Mobile
require_once('Mobile.php');
$retval = mobile_useragent_carrier();
$path = $retval["path"];
if ($path == "i" || $path == "ez" || $path == "s") {
//起動ファイル
header("location: $path/index.html");
} else {
//DoCoMo, au, SoftBank以外(PCなど)
header("location: http://www.xxxxx.com/");
}//end if
//アクセス端末のキャリア名/機種名/タイプ名を判別する
function mobile_useragent_carrier() {
//Net_UserAgent_Mobileをインスタンス化する
$agent = Net_UserAgent_Mobile::singleton();
//キャリアをチェックする
if ($agent->isDoCoMo()) {
//DoCoMo
$carrier = 'docomo';
//フォルダパス
$path = "i";
} else if ($agent->isEZweb()) {
//au
$carrier = 'au';
//フォルダパス
$path = "ez";
} else if ($agent->isSoftBank()) {
//SoftBank / Vodafone / J-PHONE
$carrier = 'softbank';
//フォルダパス
$path = "s";
} else {
//携帯以外の場合(ウィルコム・イーモバイルもPC用サイトを表示)
//フォルダパス
$path = "pc";
}//end if
//返り値を準備
$output = array(carrier=>$carrier, path=>$path);
return $output;
}//end function
?>
違う仕様をどう対応するのかということ。
そこで便利なツールが、Net_UserAgent_Mobile
PEARサイトからダウンロードできる。
PEAR :: Package :: Net_UserAgent_Mobile
これを使えば、キャリアはもちろんのこと携帯の機種やブラウザまで判別できる。
(サーバーにインストールする場合には、各ファイルのインクルードパスを
環境に応じて変更する必要がある。)
あとは、キャリア毎に用意したURLに振り分けるか読み込むCSSを変えるとよい。
今回製作した携帯サイトでは、絵文字を使っているためあらかじめ用意した
URLに振り分けることにした。
ドコモ・au・ソフトバンク以外(ウィルコムなど)は、基本がフルブラウザなので
PCと同様の扱いでPC用サイトに誘導するようにしてみました。
<?php
//PEAR::Net_UserAgent_Mobile
require_once('Mobile.php');
$retval = mobile_useragent_carrier();
$path = $retval["path"];
if ($path == "i" || $path == "ez" || $path == "s") {
//起動ファイル
header("location: $path/index.html");
} else {
//DoCoMo, au, SoftBank以外(PCなど)
header("location: http://www.xxxxx.com/");
}//end if
//アクセス端末のキャリア名/機種名/タイプ名を判別する
function mobile_useragent_carrier() {
//Net_UserAgent_Mobileをインスタンス化する
$agent = Net_UserAgent_Mobile::singleton();
//キャリアをチェックする
if ($agent->isDoCoMo()) {
//DoCoMo
$carrier = 'docomo';
//フォルダパス
$path = "i";
} else if ($agent->isEZweb()) {
//au
$carrier = 'au';
//フォルダパス
$path = "ez";
} else if ($agent->isSoftBank()) {
//SoftBank / Vodafone / J-PHONE
$carrier = 'softbank';
//フォルダパス
$path = "s";
} else {
//携帯以外の場合(ウィルコム・イーモバイルもPC用サイトを表示)
//フォルダパス
$path = "pc";
}//end if
//返り値を準備
$output = array(carrier=>$carrier, path=>$path);
return $output;
}//end function
?>

