【2019年版PHP】PCとスマホで処理を分ける方法【コピペOK】

2 min
驚く猫

こんにちは、WEBエンジニアのきりん(@kikiki_kirin)です。

WEB開発をしていて「スマホの時だけここのHTML要素出したいな・・・」という状況がよくあると思います。

そんな時に使えるコードを書いておきますので、参考にしてください。

そのままでも使える状態にはなっていますので、コピペOKです。

[box02 title=”この記事の内容”]PHPでPC・スマホの処理を分ける方法[/box02]

PHPでPC・スマホの処理を分けるコード

最初にこちらのコードで関数を定義すれば準備OKです。


/**
* UA取得
* @return string
*/
function getUserAgent()
{

$userAgent = isset($_SERVER['HTTP_USER_AGENT'])? $_SERVER['HTTP_USER_AGENT'] : '';

return $userAgent;
}
/**
* スマホかどうか判定
* @return bool
*/
function isSmartPhone()
{


$ua = getuserAgent();

if (stripos($ua, 'iphone') !== false || // iphone
stripos($ua, 'ipod') !== false || // ipod
(stripos($ua, 'android') !== false && stripos($ua, 'mobile') !== false) || // android
(stripos($ua, 'windows') !== false && stripos($ua, 'mobile') !== false) || // windows phone
(stripos($ua, 'firefox') !== false && stripos($ua, 'mobile') !== false) || // firefox phone
(stripos($ua, 'bb10') !== false && stripos($ua, 'mobile') !== false) || // blackberry 10
(stripos($ua, 'blackberry') !== false) // blackberry
) {
$isSmartPhone = true;
} else {
$isSmartPhone = false;
}

return $isSmartPhone;
}

コードの使い方

実際に使う場合はこんな感じになります。



if (isSmartPhone()) {
 //スマホの場合の処理
} else {
 //それ以外の場合の処理
}

HTMLのなかで使いたいときはこうです。



<?php if (isSmartPhone()): ?>

<p>スマホで閲覧中</p>

<?php else: ?>

<p>PCで閲覧中</p>

<?php endif; ?>

以上です。

もし何かわからないことがあればツイッターでDMいただければお答えできるかと思います!(@kikiki_kirin)

それでは、良いプログラミングライフを!

https://www.suzuco.net/entry/programming-school/

書いた人
きりん

きりん

『好きなだけ漫画を語る。』そう思い立ち『きり漫』を立ち上げました。内容は大好きな漫画やアニメ・海外ドラマのこと。プログラミングもします。

私の発信する情報が皆さんのためになる事を願って記事を書いています。

カテゴリー:
関連記事

コメントを残す