ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと

preg_match("/Windows/",$_ENV[OS])の$_ENV[ ]のキーであるOSはどこから来ているでしょうか。$_ENVはグローバル変数のため、[ ]の入っているキーも予め決まっていると思いますが、その解説してくれるサイトが見つかりません。

特に$_ENV[OS]のOSはどのOSに対応しているでしょうか。そのキーの中身(値)を知りたいですが、それも解説してくれるサイトが見つかりません。

また、グローバル変数のキーを解説してくれるサイトや本をご存知でしたら紹介していただけませんでしょうか。

さらに閲覧者はPCかケータイのどちらからアクセスしているのを判断するにも、preg_match("ケータイ",グローバル変数[使用機器])といったコードを使っていると思いますが、そういう解釈は正しいでしょうか。

A 回答 (1件)

環境変数はwebサーバ(Apache)がセットして引き渡すものと思っていいと思います。

なので、設定によって取得できる内容は変わります(何もセットされない環境もあります=経験済み)。

  http://httpd.apache.org/docs/2.0/ja/env.html

phpinfo()で_ENVの項を確認するか、print_r($_ENV)で確認すれば、どういう環境変数が渡されるかはわかると思います。$_ENV['OS']が渡されない環境も多いです(サーバのOSは既知なので意味がありませんから)。

特にphpの場合は$_ENVよりも$_SERVERの方が情報取得という観点からは「使える」と思います。携帯(というかブラウザ)チェックに使うのも$_SERVER['HTTP_USER_AGENT']ですし・・。$_ENVは.htaccessなどでセットされたものをチェックするくらいでしょう。

スーパーグローバル変数についてはこちら↓を

  http://www.php.net/manual/ja/language.variables. …
    • good
    • 0
この回答へのお礼

ご参考になりました。
ありがとうございました。

お礼日時:2008/02/12 01:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!