Precisa postar dados em uma página sem utilizar formulários, através do PHP (header), sem o cURL? Fácil fácil 🙂
Função
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
function postData ($url, $data, $optional_headers = null) { $params = array('http' => array ( 'method' => 'POST', 'content' => http_build_query($data, "", "&") )); if ($optional_headers !== null): $params['http']['header'] = $optional_headers; endif; $ctx = stream_context_create($params); $fp = @fopen($url, 'rb', false, $ctx); if (!$fp): throw new Exception("Problem with $url, $php_errormsg"); endif; $response = @stream_get_contents($fp); if ($response === false): throw new Exception("Problem reading data from $url, $php_errormsg"); endif; return $response; } |
Utilização
1 |
$response = postData ("http://www.site.com/page.php", $arrayPost); |
Como resposta da função, obtém-se os dados de saída da página (output).
Uma dica do Wez Furlong
Thank you Wez 🙂
fonte: http://www.zatecus.com/blog-php-enviando-dados-post-pelo-php-header-sem-curl-post.html