在单个 CURL 请求中写入多个文件
有没有办法使用 PHP curl 在单个请求中发送多个文件?
我知道您可以使用以下命令发送单个文件:
$fh = fopen("files/" . $title . "/" . $name, "w");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, trim($url));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_FILE, $fh);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)");
curl_exec($ch);
echo curl_error($ch);
curl_close($ch);
但我希望能够使用单个请求编写 3 个文件。
是否有一种方法可以在 curl_exec()
之前将字节写入请求?
Is there a way using PHP curl to send multiple files in a single request?
I understand you can send a single file making use of the following:
$fh = fopen("files/" . $title . "/" . $name, "w");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, trim($url));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_FILE, $fh);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)");
curl_exec($ch);
echo curl_error($ch);
curl_close($ch);
But I want to be able to write lets say 3 files using a single request.
Is there maybe a way to write bytes to the request before the curl_exec()
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
一个完整的例子看起来像这样:
A complete example would look something like this :
你可以用这个
You can use this
我搜索了一种使用curl 发送包含多个文件的post 请求的方法。
但所有代码示例并没有像浏览器那样执行相同的操作。
$_FILES 全局不包含 PHP 记录的常用数组。
现在我找到了原因:缺少 [i] 的偏移量
请参见 http://php.net/manual/de/class.curlfile.php#121971
没有“技巧”,你会在 $ 中得到不同的结果_FILES
或
但这不是我们想要的。
我们想要是通常的$_FILES数组,如下
代码:
示例:
I searched a way to send a post request with multiple files using curl.
But all code examples did not do the same as a browser does.
The $_FILES global did not contain the usual array as documented by PHP.
Now i found out why: the offsets where missing the [i]
see http://php.net/manual/de/class.curlfile.php#121971
Without the "trick" you would get a different result in $_FILES
or
But this is not what we want.
What we want is the usual $_FILES array like
Here the code:
Example: