2012-04-03 10 views
1

php.iniファイルのユーザーエージェントを次のように変更しようとしています。php.iniのユーザーエージェントを変更する

user_agent="Mozilla/5.0 (iPhone Simulator; U; 
CPU iPhone OS 4_3_2 like Mac OD X; en-us) 
AppleWebKit/535.17.9(KHTML, like Gecko) 
Version/5.0.2 Mobile/8H7Safari/6533.18.5" 

その後、次のコマンドでこのphpファイルのユーザーエージェントをチェックし、このユーザーエージェントが変更されていないことを確認します。

echo $_SERVER['HTTP_USER_AGENT']; 

これは示していますMozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)私はphp.iniファイルに設定されていないiPhoneのユーザー・エージェントがまだある

php.iniファイルでブラウザのリクエストをiphoneブラウザのリクエストとして切り替える方法を教えてください。

私も次のコマンドで試してみました。

ini_set('user_agent', 'Mozilla/5.0 (iPhone Simulator; U; 
    CPU iPhone OS 4_3_2 like Mac OD X; en-us) 
     AppleWebKit/535.17.9 (KHTML, like Gecko) Version/5.0.2 
     Mobile/8H7 Safari/6533.18.5'); 

これも同じ結果ですが、iphoneブラウザのリクエストに切り替えることができません。

+0

php.iniのユーザーエージェント設定は、HTTP経由でリモートファイルを要求するときにPHPが送信するものです。 HTTP_USER_AGENT変数は、クライアントブラウザから送信される変数です。ユーザーエージェントを変更したい場合は、ブラウザのユーザーエージェントスイッチ拡張を取得する必要があります。 (Firefoxには、「UserAgentSwitcher」という名前の適切な名前が付けられています) – Cfreak

答えて

4

私はあなたが誤解していると思います。 php.iniのuser_agent設定は$_SERVER['HTTP_USER_AGENT]とは関係ありません。 php.iniの設定は、PHPがHTTPリクエストを行う場合のデフォルトとして使用されます(cURLなど)。

$_SERVER['HTTP_USER_AGENT']には、WebブラウザがPHPスクリプトへのリクエストとともに送信したユーザエージェントが含まれています。 MSIEでページを表示しているので、それがMSIEを表示している理由です。

ブラウザから別のユーザエージェントを送信したい場合は、ブラウザで自由に変更できる場合を除き、ブラウザプラグインを使用する必要があります。たとえば、thisのようにします。

関連する問題