PHP で cURL を使用してファイル文字列を POST する方法: ステップバイステップ ガイド

Susan Sarandon
リリース: 2024-10-17 18:36:02
オリジナル
812 人が閲覧しました

How to POST a File String with cURL in PHP: A Step-by-Step Guide

PHP で cURL を使用してファイル文字列を POST する

Web 開発では、フォーム データとともにファイルを送信することが一般的な要件です。 cURL はファイル システムからファイルを POST する簡単な方法を提供しますが、この記事では、一時ファイルの作成の必要性を回避して、ファイルを文字列として直接 POST する手法を検討します。

POST データの構築

重要なのは、マルチパート/フォームデータのリクエスト本文を手動で構築することにあります。まず、フォームフィールドをファイルアップロードから分離します。ファイル以外のフィールドごとに、フィールド名と値を含むフォーム データ セクションを作成します。

次に、アップロードするファイルごとに、ファイル名、MIME タイプ、およびファイル名を含むフォーム データ セクションを作成します。実際のファイルの内容。

ヘッダーの設定

ブラウザのような POST をシミュレートするには、適切なヘッダーを設定します。

<code class="php">'Content-Type: multipart/form-data; boundary=' . $delimiter
'Content-Length: ' . strlen($data)</code>
ログイン後にコピー

ここで、$delimiter はそれぞれを区切る固有の文字列です。

リクエストの実行

<code class="php">$handle = curl_init($url);
curl_setopt($handle, CURLOPT_POST, true);
curl_setopt($handle, CURLOPT_HTTPHEADER , array(
    'Content-Type: multipart/form-data; boundary=' . $delimiter,
    'Content-Length: ' . strlen($data)));  
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
curl_exec($handle);</code>
ログイン後にコピー

multipart/form-data 本体を構築し、必要なヘッダーを設定することで、cURL は文字列として表されるファイルをシームレスに POST できます。物理ファイルを操作する場合と比較して、より柔軟で効率的なアプローチを提供します。

以上がPHP で cURL を使用してファイル文字列を POST する方法: ステップバイステップ ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート