bass-inu's blog

非IT企業Web担当者だった無職の雑記

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>';
 }
?>