ホームページ >バックエンド開発 >PHPチュートリアル >PHP で file_get_contents() を使用して HTTP POST データを送信するにはどうすればよいですか?

PHP で file_get_contents() を使用して HTTP POST データを送信するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-24 12:16:11403ブラウズ

How Can I Submit HTTP POST Data Using file_get_contents() in PHP?

file_get_contents() による HTTP POST データ送信

課題:

多くの URL にはデータが必要ですログインページなどのインタラクションを目的とした投稿。ただし、file_get_contents() 関数は本質的にデータ送信をサポートしません。

解決策:

これを解決するために、PHP は HTTP POST データ送信を可能にするストリーム コンテキストを採用します。内でfile_get_contents().

実装:

ストリーム コンテキストを利用して、リクエストの動作を構成できます:

$postdata = http_build_query(
    ['var1' => 'some content', 'var2' => 'doh']
);

$opts = [
    'http' => [
        'method'  => 'POST',
        'header'  => 'Content-Type: application/x-www-form-urlencoded',
        'content' => $postdata
    ]
];

$context = stream_context_create($opts);

$result = file_get_contents('http://example.com/submit.php', false, $context);

この例では:

  • $postdata には、
  • $opts は、POST メソッド、適切なヘッダー、データ ペイロードなどのストリーム オプションを定義します。
  • $context は、指定されたオプションで作成されたストリーム コンテキストです。
  • file_get_contents() はカスタムメソッドを使用して応答を取得します。 context.

代替方法:

代わりに、より広範なカスタマイズ オプションを提供し、HTTP POST リクエストの処理に一般的に使用される cURL の使用を検討してください。

以上がPHP で file_get_contents() を使用して HTTP POST データを送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。