簡體   English   中英

在同一請求中卷曲管道$ _POST和$ _FILES的問題

[英]problem with curl piping $_POST and $_FILES in same request

我正在嘗試重新創建包括帖子和文件數據的整個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];
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM