Enviando dados via POST com file_get_contents() em PHP

A função file_get_contents() é utilizada para obter dados de arquivos e URLs.  Através dela, também é possível enviar dados via POST para uma página web e então receber o resultado desta página.

Para isto, basta utilizar o terceiro parâmetro da função. O terceiro parâmetro deve ser um stream de contexto que pode ser criado através da função stream_context_create().

Primeiro, vamos criar a query HTTP que será enviada por POST:

$dados = http_build_query(array(
'firstname' => 'John',
'lastname' => 'Doe'
));

Em seguida, vamos criar o stream de contexto que será passado como parâmetro para a função file_get_contents():

$contexto = stream_context_create(array(
    'http' => array(
        'method' => 'POST',
        'content' => $dados,
        'header' => "Content-type: application/x-www-form-urlencoded\r\n"
        . "Content-Length: " . strlen($dados) . "\r\n",
    )
));

Após isto, basta chamar a função e obter a resposta:

$resposta = file_get_contents('http://url_de_teste/teste.php', null, $contexto);

Um exemplo completo pode ser baixado AQUI.

Até a próxima 😉

4 pensou em “Enviando dados via POST com file_get_contents() em PHP

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.