PHP/サンプル/アクセスされたブラウザ名を判別する方法
の編集
Top
/
PHP
/
サンプル
/
アクセスされたブラウザ名を判別する方法
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#navi(../) * PHPでアクセスされたブラウザ名を判別する方法 [#c620b743] PHPスクリプトでアクセスされたブラウザを判別するサンプルコードを以下に記します。 #contents #htmlinsert(ll_ads_top.html) * ブラウザを判別するには!? [#s42d0ac2] ブラウザ名を取得するにはヘッダーに含まれる''HTTP_USER_AGENT''を取得し判別します。 実際に$_SERVER変数の内容を確認してみます。~ 準備したPHPサンプルスクリプトは以下の通りです。 &ref(agent1.php); (改行コードLF) <?php print($_SERVER['HTTP_USER_AGENT']); ?> - Google Chrome でアクセスした時 Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36 返却されたHTTP_USER_AGENT文字列内にSafariがあるので判別する順序に注意する必要がありますね。 - Firefoxでアクセスした時 Mozilla/5.0 (Windows NT 5.1; rv:27.0) Gecko/20100101 Firefox/27.0 - Internet Explorerでアクセスした時 Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; GTB7.5; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; CMDTDF; BRI/2) 上記の出力を見ると以下のようにブラウザ判別ができることが確認できます。 |判別文字列|ブラウザ| |Chrome|Google Chrome| |Firefox|Firefox| |MSIE|Internet Explorer| 他のブラウザも同様に確認してみれば良いと思います。 * ブラウザ判別のサンプルスクリプト [#n506a989] 以下にブラウザ判別のサンプルスクリプトを記します。~ 上記では、$_SERVER['HTTP_USER_AGENT']でブラウザのエージェント名を取得していましたが、~ 以下のサンプルスクリプトでは同様の動作をするgetenv関数を使用してみることにします。~ 文字列が含まれるかどうかに関してはereg関数を使用することにします。 &ref(agent2.php); (改行コードLF) <?php $ua = getenv('HTTP_USER_AGENT'); if (ereg("Chrome", $ua)) { print("Google Chrome"); } elseif (ereg("Firefox", $ua)) { print("Firefox"); } elseif (ereg("MSIE", $ua)) { print("Microsoft Internet Explorer"); } else { print("Unknown"); } 以上、PHPスクリプトによるブラウザ判別のサンプルスクリプトでした。 //#htmlinsert(ll_ads_btm.html)
タイムスタンプを変更しない
#navi(../) * PHPでアクセスされたブラウザ名を判別する方法 [#c620b743] PHPスクリプトでアクセスされたブラウザを判別するサンプルコードを以下に記します。 #contents #htmlinsert(ll_ads_top.html) * ブラウザを判別するには!? [#s42d0ac2] ブラウザ名を取得するにはヘッダーに含まれる''HTTP_USER_AGENT''を取得し判別します。 実際に$_SERVER変数の内容を確認してみます。~ 準備したPHPサンプルスクリプトは以下の通りです。 &ref(agent1.php); (改行コードLF) <?php print($_SERVER['HTTP_USER_AGENT']); ?> - Google Chrome でアクセスした時 Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36 返却されたHTTP_USER_AGENT文字列内にSafariがあるので判別する順序に注意する必要がありますね。 - Firefoxでアクセスした時 Mozilla/5.0 (Windows NT 5.1; rv:27.0) Gecko/20100101 Firefox/27.0 - Internet Explorerでアクセスした時 Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; GTB7.5; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; CMDTDF; BRI/2) 上記の出力を見ると以下のようにブラウザ判別ができることが確認できます。 |判別文字列|ブラウザ| |Chrome|Google Chrome| |Firefox|Firefox| |MSIE|Internet Explorer| 他のブラウザも同様に確認してみれば良いと思います。 * ブラウザ判別のサンプルスクリプト [#n506a989] 以下にブラウザ判別のサンプルスクリプトを記します。~ 上記では、$_SERVER['HTTP_USER_AGENT']でブラウザのエージェント名を取得していましたが、~ 以下のサンプルスクリプトでは同様の動作をするgetenv関数を使用してみることにします。~ 文字列が含まれるかどうかに関してはereg関数を使用することにします。 &ref(agent2.php); (改行コードLF) <?php $ua = getenv('HTTP_USER_AGENT'); if (ereg("Chrome", $ua)) { print("Google Chrome"); } elseif (ereg("Firefox", $ua)) { print("Firefox"); } elseif (ereg("MSIE", $ua)) { print("Microsoft Internet Explorer"); } else { print("Unknown"); } 以上、PHPスクリプトによるブラウザ判別のサンプルスクリプトでした。 //#htmlinsert(ll_ads_btm.html)
テキスト整形のルールを表示する
添付ファイル:
agent1.php
627件
[
詳細
]
agent2.php
627件
[
詳細
]