PHP条件分岐を使ってHTMLを出し分けする
※PHP初心者のメモ。
PHPでサイト作ってて、ここちょっと条件分岐できないかなぁ?って時にはこうする!
ユーザーエージェントを取得して、端末によってHTMLを変更する
例えば、スマートフォンでアクセスした時とそれ以外でリンク先を変える
<?php function ua_smt () { //適当に関数を作る $ua = $_SERVER['HTTP_USER_AGENT']; //ユーザーエージェント取得 if (preg_match('/iPhone|iPad|iPod|Android|Windows Phone|BlackBerry/', $ua)) { //ユーザーエージェントに含まれる文字列をここで指定 $smt = true; //上記文字列が含まれていればTRUE } else { $smt = false; //なければFALSE } return $smt; } ?> <a href="<?php if (ua_smt() == true): ?> スマホの場合のURL <?php else: ?> それ以外の場合のURL <?php endif; ?> "> ↑実際使う時は改行しないほうがいいかな?
ファイル名を取得して、とあるファイルの時だけHTMLを変更する
例えばトップページの時だけメニューリストのリンク先を変えたいとき
<?php $toppage = 'index.php'; //トップページのファイル名 $self_name = basename($_SERVER['PHP_SELF']); //ファイル名を取得 if ($toppage == $self_name) { echo '<li><a href="ページ1">トップページのときはこのページへ飛ぶ</a></li>'; } else { echo '<li><a href="ページ2">トップページ以外のときはこのページへ飛ぶ</a></li>'; } ?>