Enviar uma solicitação HTTP POST usando file_get_contents
não é tão difícil, na verdade: como você adivinhou, é necessário usar o $context
parâmetro
Há um exemplo dado no manual do PHP, nesta página: Opções de contexto HTTP (citando) :
$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);
Basicamente, você precisa criar um fluxo, com as opções corretas (há uma lista completa nessa página) e usá-lo como o terceiro parâmetro para file_get_contents
- nada mais ;-)
Como nota de rodapé: de um modo geral, para enviar solicitações HTTP POST, tendemos a usar curl, que oferece muitas opções - mas os fluxos são uma das coisas boas do PHP que ninguém conhece ... muito ruim .. .