ホームページ >バックエンド開発 >PHPチュートリアル >PHP で cURL を使用して画像をマルチパート/フォームデータとして正常に投稿するにはどうすればよいですか?

PHP で cURL を使用して画像をマルチパート/フォームデータとして正常に投稿するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-18 06:10:02181ブラウズ

How Can I Successfully Post Images as Multipart/Form-Data Using cURL in PHP?

cURL 内のマルチパート/フォーム データとして画像を投稿する

問題:

ユーザーが遭遇する問題通信できるにもかかわらず、PHP で multipart/form-data ヘッダーを持つ cURL を使用して画像を投稿するのが難しい他の API リクエストに対して効果的に使用できます。現在の取り組みでは、画像投稿の問題を解決できませんでした。

提案された解決策:

PHP バージョン 5.6 および 7 では、CURLOPT_SAFE_UPLOAD を設定せずに CURLOPT_POSTFIELDS で $filePath を使用することは非推奨になりました。 。 PHP 7 では、$filePath は完全に削除されています。これに対処するには、CurlFile オブジェクトを実装します。

実装:

$fields = [
    'name' => new \CurlFile($filePath, 'image/png', 'filename.png')
];
curl_setopt($resource, CURLOPT_POSTFIELDS, $fields);

このアプローチにより、RFC 仕様に準拠して、画像をマルチパート/フォームデータとして投稿できます。 .

以上がPHP で cURL を使用して画像をマルチパート/フォームデータとして正常に投稿するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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