
Para fazer uma requisição POST com retorno em HTML no PHP, iremos utilizar a função nativa “file_get_contents”.
A função “file_get_contents” é semelhante a função “file”, a diferença é que ela retorna uma String utilizando o “offset” e o “maxlen”, para leitura.
Em caso de erro, ela irá retornar o valor boolean “false”.
Estou utilizando a versão do PHP 7.1 para testar esse código.
Aconselho a testar em versões acima da 5.6.
$url_de_destino = ""http://destino.com.br/salvar_test.php";
URL de destino para aonde será feita a requisição.
$postdata = http_build_query(
array(
'var1' => 'valor_var_1'
'var2' => 'valor_var_2'
)
); Os parâmetros que serão enviados via POST, adicione a quantidade que for necessária.
$options = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata
)
); Esses são os parâmetros necessários para que a requisição seja enviada via post.
$context = stream_context_create($options); $result = file_get_contents($url_de_destino, false, $context);
Na primeira linha, criamos um contexto com nossas configurações e depois chamamos o “file_get_contents”.
A função “stream_context_create” utilizamos para criar um “fluxo de contexto”, conjuntos de parâmetros referentes a uma requisição.
O retorno em HTML está na variável “result”.
$url_de_destino = ""http://destino.com.br/salvar_test.php";
$postdata = http_build_query(
array(
'var1' => 'valor_var_1'
'var2' => valor_var_2'
)
);
$options = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata
)
);
$context = stream_context_create($options);
$result = file_get_contents($url_de_destino, false, $context); Crie uma estrutura de “try / catch” na função “file_get_contents” para tratar possíveis falhas com a URL de Destino.
Problemas e observações:
Caso esse código não esteja funcionando em sua hospedagem, você pode utilizar o cURL para fazer essa operação.
Fazendo uma requisição Post utilizando Curl no PHP
Seu banner de consentimento está certo, mas o vídeo incorporado grava cookie de terceiro no primeiro carregamento. Troque o domínio…
A listagem do custom post type abre e o single dá 404 no WordPress 6.9. Entenda o cache das rewrite…
Um par .service e .timer substitui a linha do crontab com log no journal, execução perdida recuperada no boot e…
400 produtos importados do fornecedor com a aba Descrição vazia. Um wp eval-file percorre os SKUs sem texto, grava pelo…
Some com PAC e SEDEX da lista quando o frete grátis está disponível, usando woocommerce_package_rates, e limpe o cache de…
A barra de upload chega no fim e o WordPress devolve só "Erro HTTP". Separe as três causas: Imagick barrado…