Публикация данных на URL-адрес в PHP


Как я могу отправить данные POST на URL в PHP (без формы)?

Я собираюсь использовать его для отправки переменной для заполнения и отправки формы.

3 79

3 ответа:

Если вы хотите разместить данные на URL-адрес из самого кода PHP (без использования html-формы), это можно сделать с помощью curl. Это будет выглядеть так:

$url = 'http://www.someurl.com';
$myvars = 'myvar1=' . $myvar1 . '&myvar2=' . $myvar2;

$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_POST, 1);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $myvars);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt( $ch, CURLOPT_HEADER, 0);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);

$response = curl_exec( $ch );

это отправит переменные post на указанный url-адрес, и то, что возвращает страница, будет в $response.

cURL-менее вы можете использовать в php5

$url = 'URL';
$data = array('field1' => 'value', 'field2' => 'value');
$options = array(
        'http' => array(
        'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
        'method'  => 'POST',
        'content' => http_build_query($data),
    )
);

$context  = stream_context_create($options);
$result = file_get_contents($url, false, $context);
var_dump($result);

ваш вопрос не особенно ясен, но в случае, если вы хотите отправить данные POST на url-адрес без использования формы, вы можете использовать либо fsockopen, либо curl.

здесь довольно хорошее прохождение обоих