web-dev-qa-db-ja.com

PHPからのGETリクエストをパラメータ付きのfile_get_contentsを使用して

GETリクエストを外部サイトに送信したいが、いくつかのパラメータも送信したい

たとえば、example.comにgetリクエストを送信する必要があります

www.example.com/send.php?uid=1&pwd=2&msg=3&phone=3&provider=xyzを実行したい

私のコードは:

$getdata = http_build_query(
array(
    'uid' => '1',
    'pwd' => '2',
 'msg'=>'3',
 'phone'=>'9999',
 'provider'=>'xyz'
 )
);

$opts = array('http' =>
 array(
    'method'  => 'GET',
    'content' => $getdata
)
);

$context  = stream_context_create($opts);

$result = file_get_contents('http://example.com/send.php', false, $context);

サーバーエラーが発生します。

12
Hormigas

contentオプションは、POSTおよびPUTリクエストで使用されます。 GETの場合は、クエリ文字列として追加するだけです。

file_get_contents('http://example.com/send.php?'.$getdata, false, $context);

さらに、methodのデフォルトはGETなので、オプションを設定したり、ストリームコンテキストを作成したりする必要もありません。したがって、この特定の状況では、必要に応じて、最初のパラメータを指定してfile_get_contentsを呼び出すだけで済みます。

28
webbiedave