※このサンプルの解説は、「CGI(Perl)の解説」をすべて読み終えてる方を前提としています。
後になるほど省略されている場合がありますのでできるだけ順番に読んでください。
また、実行に際しては、サーバーでPHPが利用できる事を前提に解説しています。
■ 携帯電話のキャリア別ジャンプ
前回「携帯電話のキャリア別を取得」を解説しましたので、今回はそれを少しアレンジして「携帯電話のキャリア別ジャンプ」を作成してみましょう。
今回の変更点は、PHPの「ページの自動ジャンプ」をヒアドキュメントで組み込むことです。
この処理を理解するには当然ですが、「HTML」の知識が必要になります。
解からない方は「HTMLの解説」で勉強してくださいね。
- 【 解 説 】
-
まず、前回の「携帯電話のキャリア別を取得」でキャリア別の取得はできるようになりましたから、それを使用してその変数をそのままファイル名に使用します。
前回の「$str0」を使用してそれと同じ「HTML」ページを作っていればそのページのファイル名は次のような記述で表すことができます。
$jmpurl = "$str0.html";PHPを使用してページジャンプさせる時、次のような記述をします。
<?php header("Location: //beginners.atompro.net/\n\n"); ?>また、「HTMLサンプル」などでも解説した「ページの自動ジャンプ」を次のようにヒアドキュメントで記述する方法もありますが、「meta」タグが携帯電話で認識できません。
print <<< END_DOC <HTML> <HEAD> <META http-equiv="refresh" content="0; url=$jmpurl"> <title>urljump</title> </HEAD> <BODY> </BODY> </HTML> END_DOC;
では、上記の内容を使用して「携帯電話のキャリア別ジャンプ」を作成してみます。
- 【記述サンプル】
- <?php $agent = $_SERVER["HTTP_USER_AGENT"]; $str0 = "pc"; if (strpos($agent, "DoCoMo") !== FALSE) $str0 = "docomo"; if (strpos($agent, "J-PHONE") !== FALSE) $str0 = "jphone"; if (strpos($agent, "UP.Browser") !== FALSE) $str0 = "ezweb"; $jmpurl = "$str0.html"; header("Location: $jmpurl\n\n"); ?>