Sem utilizar bibliotecas ou códigos externo ao tradicional PHP, iremos apresentar 3 modos de efetuar uma operação de POST usando funções e recursos built-in do PHP.
1 – Maneira mais conhecida e tradicional. Utilizando o cURL.
$url = 'URL_DESEJADA'; $ch = curl_init($url); //Dados a serem enviados via requisição POST $data = []; $data["blog"] = "Devblog Drall"; $data["avaliação"] "Muito bom!"; $data["patrocinar_artigos"] = "Sim"; curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch);
2 – Utilizando o file_put_contents.
O que? como? file_put_contents é capaz de fazer isto? Não era só para salvar conteúdo em arquivos no disco, não?
$context = stream_context_create(array( 'http' => array( 'method' => 'POST', 'header' => 'Content-Type: application/xml', 'content' => $xml ) )); $result = file_get_contents($url, false, $context);
No exemplo acima, seria enviado um conteúdo XML para o servidor. Bastaria definir a variável $url e $xml com os conteúdos desejados.
2 – Utilizando o fopen.
//Dados a serem enviados via requisição POST $data = []; $data["blog"] = "Devblog Drall"; $data["avaliação"] "Muito bom!"; $data["patrocinar_artigos"] = "Sim"; $params = array('http'=>array('method'=>'post','content'=>http_build_query($data))); $context= stream_context_create($params); $stream= fopen($url, 'rb', false, $context);
Basta definir a variável $url e pronto! O exemplo acima irá fazer o envio dos dados para o servidor via POST, para a url definida na variável $url.