gpt4 book ai didi

php - 同一请求中 curl 管道 $_POST 和 $_FILES 的问题

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:20:36 26 4
gpt4 key购买 nike

我正在尝试重新创建一个完整的 http 请求,包括帖子和文件数据,但是无论我做什么,我似乎都无法让我的文件正常工作,我正在使用的代码如下...

$count=count($_FILES['photographs']['tmp_name']);

$file_posts=array();

for($i=0;$i<$count;$i++) {
if(!empty($_FILES['photographs']['name'][$i])) {
$_FILES['photographs']['tmp_name'][$i] = "@".$_FILES['photographs']['tmp_name'][$i];
}
}

$post = array_merge($_POST, $_FILES);

$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,"http://url/to/file.php");
curl_setopt($ch,CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch,CURLOPT_HEADER,TRUE);
curl_setopt($ch,CURLOPT_POST,TRUE);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post);
curl_exec($ch);
curl_close($ch);

我已经尝试了很多变体,但无论如何我似乎都无法让文件工作,但是其他发布数据没问题。

最佳答案

问题是在您的 $post 中有第二个数组“层”。

你需要做的:

$file_posts=array();

for($i=0;$i<$count;$i++) {
if(!empty($_FILES['photographs']['name'][$i])) {
$file_posts['photographs'][$i] = "@".$_FILES['photographs']['tmp_name'][$i];
}
}

关于php - 同一请求中 curl 管道 $_POST 和 $_FILES 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3206136/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com