[PHP-users 1195] Re: 携帯機種別による振分け

松嶋祥文 php-users@php.gr.jp
Thu, 16 Aug 2001 15:09:06 +0900


松嶋@ITBoost です。

| というものを実現させたいのですが、アイディアが浮かびません。
| header関数を使うものかと思っているのですが、
| 説明には「すべての実際の出力の前にコールする必要がある」
| となっていることは上記のようなことは実現不可能なのでしょうか?

いえいえ、可能ですよ。
print "Content-type: text/html\n\n";
も、「すべての出力の前に」実行されなければなりませんよね?
あらゆる print などの前に header を呼び出せば問題ありません。

HTTP_USER_AGENT の取得は
  http://jp.php.net/manual/ja/language.variables.predefined.php
  http://jp.php.net/manual/ja/function.getenv.php
などを使用し、HTTP ヘッダ(Content-type: ... など)の出力に
header 関数を使用します。

if( ereg('DoCoMo', $HTTP_USER_AGENT) ){
  header("Content-type: text/html");
     :
     :
} elseif ( ... ) {
     :
}

みたいな感じになるかと思います。
# Location: で転送しても良いかと。

なお、今知ったのですが、
  http://jp.php.net/manual/ja/function.get-browser.php
という関数もあるようです。

-- 
                                               ,-------------+
+---------------------------------------------'              |
| 株式会社 IT Boost / アイティーブースト                     |
| 松嶋 祥文 [ mats@itboost.co.jp ]                ,-------------+
| +----------------------------------------------'              |
| | ★ Linux 関連の技術情報満載!    http://www.itboost.co.jp/  |
+-|   ★ 依頼・質問におこたえ!   http://okotae.itboost.co.jp/  |
  +-------------------------------------------------------------+