• ホーム
  • PHP
  • PHPのバックグラウンドでPOST送信~実行結果を挿入するコード

PHPのバックグラウンドでPOST送信~実行結果を挿入するコード

PHPのバックグラウンドでPOST送信~実行結果を挿入するコード

他ページの内容を挿入するには、「include」「require」「file_geto_contents」などの関数があるが、実行先ファイルがPOST送信でなければ受け付けない場合どうしましょう?

あくまでも、HTML FORMでPOST送信するのではなく、バックグラウンドでPOST送信して結果を挿入させたい…という場合です。

前述のとおり、「include」「require」「file_geto_contents」などの「GET送信」ではなくPOST送信です。

curlでPOSTする変数を配列にして実行することで、結果を取得して表示可能となります。

$data = array(
	'name1' => 'value1',
	'name2' => 'value2',
	'neme3' => 'value3'
);
$ch = curl_init('https://送信先');
curl_setopt($ch,CURLOPT_POST,TRUE);
curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($data));
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
echo curl_exec($ch);
curl_close($ch);

素晴らしいのは、送信先スクリプトが、PHPでもCGIでも可能だということ。1枚のPHPファイルで様々なスクリプトを実行して挿入できる便利なコードです。

PHP
2021.04.10 12:02
2021.04.24 14:57

Related entry

Pickup entry