Envoi d'une demande HTTP POST en utilisant file_get_contents
n'est pas si difficile, en fait : comme vous l'avez deviné, vous devez utiliser la fonction $context
paramètre.
Un exemple est donné dans le manuel PHP, à cette page : Options du contexte HTTP (citation) :
$postdata = http_build_query(
array(
'var1' => 'some content',
'var2' => 'doh'
)
);
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-Type: application/x-www-form-urlencoded',
'content' => $postdata
)
);
$context = stream_context_create($opts);
$result = file_get_contents('http://example.com/submit.php', false, $context);
En gros, vous devez créer un flux, avec les bonnes options (il y a une liste complète sur cette page) et l'utiliser comme troisième paramètre de file_get_contents
-- rien de plus ;-)
Pour la petite histoire : en général, pour envoyer des requêtes HTTP POST, on a tendance à utiliser curl, qui fournit beaucoup d'options et tout -- mais les flux sont l'une des belles choses de PHP que personne ne connaît... dommage...
1 votes
php.net/manual/fr/function.stream-context-create.php#89080
9 votes
Cela devrait être upvoted infiniment. Il n'y a aucune raison d'utiliser Curl/Guzzle ou toute autre bibliothèque fantaisiste si vous avez des fonctionnalités PHP brutes qui font le travail.