hov*_*nko 5 php upload curl file stream
假设我有一个大文件,我想使用 PHP 和 curl 将其 HTTP POST 发送到 Web 服务。该文件大于我可以让 PHP 使用的内存量。
基本上,我正在寻找一种将文件内容直接流式传输到 curl 的方法,而无需将整个文件读入内存。
我成功地使用了多部分 POST 和 PUT,但没有使用 POST 上传“二进制数据”。
我想在 PHP 中实现的是这个命令行的作用:
$ curl -X POST -H "Content-Type: image/jpeg" \
--data-binary "@large.jpg" "http://example.com/myservice"
Run Code Online (Sandbox Code Playgroud)
使用 curl_setopt 尝试了很多选项,例如 INFILE、POSTFIELDS、Content-Type 标头,但没有运气。
虽然它适用于多部分,但我需要一个原始的 POST 请求,没有多部分:
$post['file'] = "@large.jpg";
curl_setopt($c, CURLOPT_POSTFIELDS, $post);
Run Code Online (Sandbox Code Playgroud)
PHP/CURL 绑定支持 CURLOPT_READFUNCTION 选项,该选项允许您使用该回调传递数据以逐块发送。
与此 C 示例中所示的逻辑几乎完全相同: http://curl.haxx.se/libcurl/c/post-callback.html
| 归档时间: |
|
| 查看次数: |
5278 次 |
| 最近记录: |