Php 同一请求中的$\u POST和$\u文件存在问题
我试图重新创建一个完整的http请求,包括post和files数据,但是无论我做什么,我似乎都无法让我的文件正常工作,我使用的代码如下Php 同一请求中的$\u POST和$\u文件存在问题,php,http,curl,Php,Http,Curl,我试图重新创建一个完整的http请求,包括post和files数据,但是无论我做什么,我似乎都无法让我的文件正常工作,我使用的代码如下 $count=count($_FILES['photographs']['tmp_name']); $file_posts=array(); for($i=0;$i<$count;$i++) { if(!empty($_FILES['photographs']['name'][$i])) { $_FILES['photographs'
$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);
$count=count($_文件['photos']['tmp_name']);
$file_posts=array();
对于($i=0;$i而言,问题在于$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];
}
}
$file_posts=array();
对于($i=0;$i而言,问题在于$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];
}
}
$file_posts=array();
对于($i=0;$i)您需要在请求之后做些什么吗?如果不需要,为什么不反向代理请求呢?否则,向我们展示$post
变量最终的样子——我猜看起来不太好。数组([stocknum]=>ABC123[make]=>make[model]=>model[price]=>[year]=>2002[bodytype]=>Sedan[transmission]=>6sp手动[等级]=>[klms]=>[drivetype]=>[fueltype]=>汽油[chassistype]=>轿车[发动机]=>[Color]=>[InteriorColor]=>[shortdescription]=>[longdescription]=>[keywords]=>[availability]=>可用[添加车辆]=>添加车辆[照片]=>阵列([name]=>阵列([0]=>Winter.jpg[1]=>睡莲[2]=>Sunset.jpg[3]=>[4]=>[5]=>[6]=>[7]=>[8]=>[9]=>[10]=>[11]=>[12]=>[13]=>etc15]=>)[tmp_name]=>数组([0]=>@/tmp/phpwxNJqG[1]=>@/tmp/phpAsDVvN[2]=>@/tmp/phpsf8BJX[3]=>[4]=请求的目标文件设置为以这种格式处理…据我所知,在curl上处理文件的唯一要求是在tmp前面放一个@name@Artefacto我不太清楚你运行反向代理是什么意思,你能解释一下吗?你需要在请求后做些什么吗?如果不需要,为什么不rse代理请求?否则,向我们展示$post
变量最终的样子——我的猜测是不太好。数组([stocknum]=>ABC123[make]=>make[model]=>model[price]=>2002[bodytype]=>Sedan[transmission]=>6sp手动[grade]=>[drivetype]=>[fueltype]=>汽油[chassistype]=>Sedan[engine]=>[color]=>[interiorcolour]=>[shortdescription]=>[longdescription]=>[keywords]=>[availability]=>可用[add\u vehicle]=>添加车辆[photos]=>数组([name]=>数组([0]=>Winter.jpg[1]=>睡莲.jpg[2]=>日落.jpg[3]=>[4]=>[5]=>[6]=>[7]=>[8]=>[9]=>[10]=>[11]=>12]=>C15]=>)[tmp_name]=>数组([0]=>@/tmp/phpwxNJqG[1]=>@/tmp/phpAsDVvN[2]=>@/tmp/phpsf8BJX[3]=>[4]=请求的目标文件设置为以这种格式处理…据我所知,在curl上处理文件的唯一要求是在tmp前面放一个@name@Artefacto我不太清楚运行反向代理是什么意思,你能解释一下吗?