前回の『「パソコン用と携帯用ウェブサイト」のメモ1』に書いた通り、1つのHTMLファイル(1つのページ)の中で、パソコンからは「ABCLEFG」、携帯からは「いろはにほへと」と表示させる方法を解説します。

利用するものはSSIPHPです。
自分のホームページをアップロードしているサーバが上記2つに対応していなければ使用することができません。

実際にどのように見えるかのサンプルはこのリンクページからどうぞ。
パソコンで見たときと携帯で見たときに表示されるAmazonのアフィリエイトリンクが異なります。

HTMLファイルのサンプルは下記の通り。


<html lang="ja">
<head>
<title>パソコンと携帯でページの一部表示を変更する [イイカンジプロジェクト|空見れどれどれ]</title>
</head>
<body>
<h1>パソコンと携帯でページの表示を一部変更する</h1>
<hr>
<Amazon><br><!--#include file="sample.php" -->
</body>
</html>



SSIのincludeコマンドを用い、UserAgentを判別しHTMLを排出する処理を記述したphpファイルを読み込みます。


phpのサンプルファイルは下記の通り。


$UserAgent  = getenv('HTTP_USER_AGENT');
if (ereg(".*ASTEL.*",$UserAgent)) {
// ドットi
echo 'Amazonのコード(携帯)';

} elseif (ereg("UP\.Browser.*",$UserAgent)) {
// EZweb(旧)
echo 'Amazonのコード(EZweb旧)';

} elseif (ereg(".*KDDI.*",$UserAgent)) {
// EZweb WAP2.0以降
echo 'Amazonのコード(EZweb)';

} elseif (ereg(".*DDIPOCKET.*",$UserAgent)) {
// AirH"、ただしOperaを除く
echo 'Amazonのコード(AirH)';

} elseif (ereg(".*DoCoMo.*",$UserAgent)) {
// i-mode
echo 'Amazonのコード(i-mode)';

} elseif (ereg(".*J-PHONE.*",$UserAgent)) {
// Vodafone(Softbank) 3G以前
echo 'Amazonのコード(Vodafone(SoftBank) 3G以前)';

} elseif (ereg(".*Vodafone.*",$UserAgent) || ereg(".*SoftBank.*",$UserAgent)) {
// Vodafone(Softbank) 3G以降
echo 'Amazonのコード(Vodafone(SoftBank) 3G以降)';

} elseif (ereg(".*L-mode.*",$UserAgent)) {
// L-mode
echo 'Amazonのコード(L-mode)';

} else {
// それ以外、つまりパソコン
echo 'Amazonのコード(パソコン)';
}



UserAgentによって、表示させる文字を変えるphpプログラムです。
echo後の''の中身を変更すればそのまま使えます。

ただし、そのままならhtmlファイルとphpファイルは同じフォルダに設置する必要があります。

さらに詳しくは、「SSI include」等で検索してみてください。