Posting an empty filefield with CURLOPT_POSTFIELDS to multipart form
我正在尝试使用CURL CURLOPT_POSTFIELDS发布到多部分html表单,但是我无法找到如何在没有文件的情况下发布它。
在普通浏览器中测试表单时,"文件"字段可以为空,"名称"和"消息"不能为空。
这有效:
1 2 3 4 5 6 | $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); |
这不是:
1 2 3 4 5 6 7 | $array = array( "Name" =>"Jon", "Message" =>"My package was broken, please send new.", "File" =>"" ); curl_setopt ($ch, CURLOPT_POSTFIELDS, $array); $output = curl_exec($ch); |
最后的$ output结果为bool(false)
我也尝试过这些价值观的变化,但没有成功。
1 2 3 4 5 6 |
有人知道吗?
如果没有重构后端或手动模拟多部分表单提交,我很确定您将无法仅凭任何
-
http_request_body_encode - 生成多部分边界
- 用户级多部分/表单数据处理程序
如果您坚持尝试单独使用CURL解决此问题,建议您检查ext / curl源代码。
尝试仅完全删除
1 2 3 4 5 6 | $array = array( "Name" =>"Jon", "Message" =>"My package was broken, please send new." ); curl_setopt ($ch, CURLOPT_POSTFIELDS, $array); $output = curl_exec($ch); |