2010-07-11 4 views
3

У меня возникли проблемы с отправкой $ _FILES с помощью cURL - файлы передаются в порядке, используя следующий код, однако для меня невозможно получить имя и тип файла, на самом деле как только $ _FILES достигают своего места назначения, их тип хранится как «приложение/октет-поток» - что я делаю неправильно !?

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

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


$header = array("Content-type: multipart/form-data"); 
$ch = curl_init('http://localhost/curl/rec.php'); 
curl_setopt($ch,CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); 
curl_setopt($ch,CURLOPT_RETURNTRANSFER, false); 
curl_setopt($ch,CURLOPT_ENCODING,""); 
curl_setopt($ch,CURLOPT_HTTPHEADER,$header); 
curl_setopt($ch,CURLOPT_FOLLOWLOCATION, TRUE); 
curl_setopt($ch,CURLOPT_POST,TRUE); 
curl_setopt($ch,CURLOPT_POSTFIELDS,$postargs); 
curl_exec($ch); 
curl_close($ch) 

ответ

6

Вы должны построить $ postargs, как это,

$postargs = array(); 
foreach ($_FILES as $param => $file) { 
    $postargs[$param] = '@' . $file['tmp_name'] . ';filename=' . $file['name'] . ';type=' . $file['type']; 
} 
Смежные вопросы