GET Request from PHP using file_get_contents with parameters

Hormigas picture Hormigas · Sep 8, 2011 · Viewed 56.5k times · Source

I want to send a GET request to an external site, but also want to send some parameters

for example i've to send a get request to example.com

i want to execute www.example.com/send.php?uid=1&pwd=2&msg=3&phone=3&provider=xyz

My code is :

$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);

I get a server error .

Answer

webbiedave picture webbiedave · Sep 8, 2011

The content option is used with POST and PUT requests. For GET you can just append it as a query string:

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

Furthermore, the method defaults to GET so you don't even need to set options, nor create a stream context. So, for this particular situation, you could simply call file_get_contents with the first parameter if you wish.