PHP
プログラミング
端末の種類で処理を分ける方法
スマートフォンと PC での分岐
端末によって解釈ズレで表示が崩れるなどの問題があった時、原因の切り分けの結果デバイスの種類だった、というときは端末(の大きなくくり)ごとに処理を書けば解決します。
$ua = $_SERVER['HTTP_USER_AGENT'];
if (( strpos( $ua, 'iPhone' ) !== false ) || ( strpos( $ua, 'iPod' ) !== false ) ) {
// iOS 用の処理を書く;
} elseif ( strpos( $ua, 'Android' ) !== false ) {
// Android 用の処理を書く;
} else {
// PC 用の処理を書く;
}
アクセスした機器のユーザーエージェントを得て判定を取る仕組みです。
Windows と Mac での分岐
Windows と macOS X の環境で表示させるものを変えたい場合にも User Agent で判定を得られます。
$ua = $_SERVER['HTTP_USER_AGENT'];
if (( strpos( $ua, 'macintosh' ) !== false ) ) {
// macOS X 用の処理を書く;
} elseif ( strpos( $ua, 'Windows' ) !== false ) {
// Windows 用の処理を書く;
} else {
// それ以外の OS 用の処理を書く;
}
「それ以外の OS 」には Linux や ChromeOS などが含まれるので厳密に分ける必要がない場合は Windows の処理と一本化してかまいません。