Иногда требуется отправить POST-запрос на веб-сервер, работающий на PHP. Прием таких запросов осуществляется разбором суперглобального массива $_POST вызовам функции
filter_input(INPUT_POST,’variable’) с соответствующими параметрами.
Оправить данные POST запросом очень просто создав на странице фору и указать атрибут method=post.
А как же оправить такой запрос непосредственно из PHP-кода, минуя браузер?
Для этого можно использовать функцию
$targeturl = 'http://targethost/post.php'; $vars = array( 'var1' => '789', // в http://targerhost/post.php это будет /*$_POST['var1']*/ filter_input(INPUT_POST,'var1' == '789') 'var2' => 'qwe', // в http://targerhost/post.php это будет /*$_POST['var2']*/ filter_input(INPUT_POST,'var1' == 'qwe') ); $result = file_get_contents($targeturl, false, stream_context_create(array( 'http' => array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => http_build_query($vars) ) ))); echo $result;