Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 同一请求中的$\u POST和$\u文件存在问题_Php_Http_Curl - Fatal编程技术网

Php 同一请求中的$\u POST和$\u文件存在问题

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'

我试图重新创建一个完整的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']['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我不太清楚运行反向代理是什么意思,你能解释一下吗?