Проблема с $ _FILES и cURL - PullRequest
       6

Проблема с $ _FILES и cURL

3 голосов
/ 11 июля 2010

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

 $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)

1 Ответ

6 голосов
/ 11 июля 2010

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

 $postargs = array();
 foreach ($_FILES as $param => $file) {
     $postargs[$param] = '@' . $file['tmp_name'] . ';filename=' . $file['name'] . ';type=' . $file['type'];
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...