Вы не зашли.
Главная » PHP » CURL
#1. Morgan Off (10)
Участник
2010.06.26 11:11
Как с помощью этой библиотеки отправить файлы на удаленный сервер?
как я понимаю, CURLOPT_INFILE и CURLOPT_UPLOAD дают возможность закачать только один файл.
Пытаюсь добавить данные в заголовки вот таким способом

Код:
span style="color: #0000BB"><?php$boundary = '------------------'.md5(strrev(md5(rand(10000,99999)))); $addheader[] = 'Content-Type: multipart/form-data'; $addheader[] = 'boundary='.$boundary; $addheaders = null; $rn = "\r\n"; // файлы foreach($_FILES as $name_file => $info_file) { if($info_file['error'] > 0)continue; $addheaders .= $rn.'--'.$boundary.$rn; $addheaders .= 'Content-Disposition: form-data; name="'.$name_file.'";'.$rn; $addheaders .= 'filename="'.$info_file['name'].'"'.$rn; $addheaders .= 'Content-Encoding: base64'.$rn; $addheaders .= 'Content-Type: '.mime_type(ext($info_file['name'])).$rn; $addheaders .= 'Content-Length: '.filesize($info_file['tmp_name']).$rn; $addheaders .= $rn; $addheaders .= base64_encode(file_get_contents($info_file['tmp_name'])); } // пост данные $postflds = explode('&',$posfields); for($c = count($postflds),$i = 0;$i < $c;$i ++) { $addheaders .= $rn.'--'.$boundary.$rn; $fld = explode('=',$postflds[$i]); $addheaders .= 'Content-Disposition: form-data; name="'.$fld[0].'";'.$rn; $addheaders .= 'Content-Encoding: none'.$rn; $addheaders .= 'Content-Length: '.strlen($fld[1]).$rn; $addheaders .= $rn; $addheaders .= $fld[0]; } unset($postfields); $addheader[] = 'Content-Length: '.strlen($addheaders); $addheader = array_merge($addheader,$addheader2);?>
Но отправляеся только
"["Content-Type"]=> string(19) "multipart/form-data" ["Content-Length"]=> string(3) "413" "
Добавлено спустя   1 минуту  38 секунд:
и конечно же
Код:
span style="color: #0000BB"><?php...if(!empty($addheader))curl_setopt($page,CURLOPT_HTTPHEADER,$addheader)...?>
Отредактировано Morgan (2010.06.26 11:11)
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#2. Koka90 Off (0)
Участник
2010.07.12 20:08
Ты переменную $addheaders перезаписуешь.
Может лучше про CURLOPT_POSTFIELDS почитай))))
Добавлено спустя   2 минуты  40 секунд:
Вот ознакомся
Код:
span style="color: #0000BB"><?php$data = array( 'type' => 'direct', 'userfile[]' => '@c:\Apache Server Doc Folder\picture.jpg', 'private' => '0',);$curl = curl_init();curl_setopt($curl, CURLOPT_URL, "http://www.url.com/upload.php");curl_setopt($curl, CURLOPT_VERBOSE, true);curl_setopt($curl, CURLOPT_POST, true);curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);curl_setopt($curl, CURLOPT_POSTFIELDS, $data);$result = curl_exec($curl);curl_close($curl);?>
Жызнь дала трещину, и стала все больше похожа на ЖОПУ!!!
Страниц: 1
Главная
WEB
PunBB Mod v0.6.2
0.012 s