CURL CURLOPT_POSTFIELDSを使用してマルチパートHTMLフォームに投稿しようとしていますが、ファイルなしで投稿する方法がわかりません。CURLOPT_POSTFIELDSで空のファイルフィールドをマルチパートフォームに転記
通常のブラウザでフォームをテストする場合、「ファイル」フィールドは空白にすることができ、「名前」と「メッセージ」は空にできません。
この作品:
$array = array(
"Name" => "Jon",
"Message" => "My package was broken, please send new.",
"File" => "@look_omg_its_broken_omgomg_look_at_the_corners.jpg"
);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $array);
このdoesntの:ブールで
$array = array(
"Name" => "Jon",
"Message" => "My package was broken, please send new.",
"File" => ""
);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $array);
$output = curl_exec($ch);
この最後の$出力結果(偽) 私はまた、これらの値のバリエーションを試してみましたが、ない成功を収めてきました。
"File" => "@"
"File" => "@/"
"File" => NULL
"File"
"File" => array("")
"File" => array("filename" => "")
誰でも知っていますか?
問題は、バックエンドがキーをチェックしていることです。「ファイル」フィールドが見つからない場合は、ヌルオブジェクトの参照に関するスタックトレースが生成されます。そのようにすることはできません:("ファイル"フィールドで送信する必要がありますが、その値は、ファイルが送信されないことを表す必要があります。それは可能でなければなりません。または何か) –
ああこれは前に尋ねられましたが、結果はありません(http://stackoverflow.com/questions/5137382/sending-empty-input-type-file-fields-with-curl-on-phpを参照)。 @Alix Axelが指摘しているように* multipart/form-data *本体を手動で構築しなければならないと思います.cURLリストには古くから電子メールがあります。http://curl.haxx.se/mail /lib-2005-06/0079.html。幸運。 – Femi