web-dev-qa-db-ja.com

POST PHPのURLへのデータ

POST(フォームなし)のURLにPHPデータを送信するにはどうすればよいですか?

フォームを完成させて送信する変数を送信するために使用します。

89
Belgin Fish

PHPコード自体(htmlフォームを使用しない)からURLにデータを投稿する場合は、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 );

これにより、指定されたURLにポスト変数が送信され、ページが返すものは$ responseになります。

182
Peter Anselmo

php5で使用できるcURLなし

$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);
71
Burak Öztürk

質問は明確ではありませんが、フォームを使用せずにPOSTデータをURLに送信する場合は、fsockopenまたはcurlを使用できます。

両方のかなり良いウォークスルー

10
jfoucher