![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
下記のようにUser-Agentを取得し、
各キャリア別に振り分けているんですが、
ドコモ、kddi、PCはきちんと判定してそれぞれを
表示してくれますが、
ソフトバンク、ボーダフォン、j-phoneがうまく
判定してくれません。
ソフトバンクのソフト(ウェブコンテンツビューア)だと
パソコン版が表示され、実際の携帯でみるとau画面が表示されて
しまいます。
どなたかお力をおかしください。
<?
$header = getallheaders();
$agent = $header["User-Agent"] ;
if(ereg("DoCoMo",$agent)){
header("Location: http://www.aaa.com/mobi/i/index.html");
exit;
}
elseif(ereg("UP.Browser",$agent)){
header("Location: http://www.aaa.com/mobi/e/index.html");
exit;
}
elseif(ereg("SoftBank",$agent)){
header("Location: http://www.aaa.com/mobi/v/index.html");
exit;
}
elseif(ereg("Vodafone",$agent)){
header("Location: http://www.aaa.com/mobi/v/index.html");
exit;
}
elseif(ereg("J-PHONE",$agent)){
header("Location: http://www.aaa.com/mobi/v/index.html");
exit;
}
else{
header("Location: http://www.aaa.com/mobi/home.html");
exit;
}
?>
No.2ベストアンサー
- 回答日時:
あんまり"ereg"関数は使いませんが、下記のソースでちゃんと分岐しますか?
コメント部分を変更して試して見てください。
-----------
if ( preg_match('/^DoCoMo/', $_SERVER['HTTP_USER_AGENT']) ) {
// DoCoMo
} elseif ( preg_match('/^(J-PHONE|Vodafone|SoftBank)/', $_SERVER['HTTP_USER_AGENT']) ) {
// Softbank(Vodafone, J-Phone)
} elseif ( preg_match('/UP\.Browser/', $_SERVER['HTTP_USER_AGENT']) ) {
// au
} else {
// etc
}
この回答への補足
回答ありがとうございます。
結果としてソフトバンクは
ビューアで観るとPC
ソフトバンク携帯で観ると au
の画面になってしまいます。
これはおそらく、スクリプトの誤りというより
サーバーが原因なのではないかと思い始めてしまいました。
xrea.comを使用しています。
このサーバーで各関数が全て使える環境には
あるのです。
サーバーの方も調べてみます。
どうもLocation:があやしいようです…
調べてみましたが
サーバーには問題ないようです。
ちなみに
SoftBankの3GにはAUと同じUP.Browserが含まれるものも
あるんですね。これでは混同してしまいますね
No.1
- 回答日時:
ソース中の下記の部分を変更してみてください。
----------------
> $header = getallheaders();
> $agent = $header["User-Agent"] ;
↓ ↓ ↓
$agent = $_SERVER['HTTP_USER_AGENT'];
----------------
この回答への補足
ありがとうございます。
早速試してみました。やはり、ソフトバンク、ボーダフォン、j-phone分はうまく作動していないようです。
機種で試してはいませんが、
iモードもauもビューアでも確認できるんですが…
致命的な欠陥があるんでしょうか…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PHP グローバルスコープはありますか? 1 2022/08/08 19:28
- PHP 'member_picture/'に/がありますが 、「スラッシュ」は必要でしょうか? 1 2022/11/27 04:32
- HTML・CSS htmltとcssのコードで 1 2022/11/26 13:37
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- HTML・CSS cssの display: flex;で横並びにならずに困ってます 1 2022/12/04 13:18
- PHP php ログイン 1 2022/11/01 00:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正規表現パターンの記入方法に...
-
正規表現でシングルクォーテー...
-
正規表現で「0」のみ抽出
-
PHP:preg_match_allで複数条件...
-
変数内文字列抜き出し
-
Excelで数字のみを2倍3倍にする...
-
、"(ダブルクォーテーション)...
-
VBAを使ってHTMLソースから特定...
-
VBAのコマンドボタンの文字列の...
-
COBOLの改行
-
ソースコードの1行が長いとき...
-
メッセージボックスで1025文字...
-
エスケープ文字の復帰(¥r)と...
-
エクセルのCOUNTIFが正しくカウ...
-
【VBA】エクセルで最後の不要な...
-
C++で空Enterの入力を判...
-
改行について
-
文字の入力で横バー上段、中断...
-
VBSで"をエスケープする文字は?
-
fgetws関数で読み込んだUNICODE...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
、"(ダブルクォーテーション)...
-
VBAを使ってHTMLソースから特定...
-
PHPで変数から1行目だけを取得...
-
Excelで数字のみを2倍3倍にする...
-
preg_matchでエラーが出ます。
-
正規表現でシングルクォーテー...
-
URLを抽出する正規表現
-
正規表現パターンの記入方法に...
-
PHPで<a>タグ内からURLと文字を...
-
PHP 複数行の正規表現
-
PHPの正規表現で住所を分けるに...
-
電話番号のチェック ハイフン...
-
ereg_match関数について
-
正規表現で「0」のみ抽出
-
PHPメールフォーム URLと半角...
-
preg_matchで Warning: Undefin...
-
phpでメールアドレス入力の入力...
-
正規表現で特定のHTMLタグのク...
-
preg_matchで指定ファイルのタ...
-
変数に指定文字列が含まれると...
おすすめ情報