#1 2010.06.26 11:35

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

CURL

Как с помощью этой библиотеки отправить файлы на удаленный сервер?
как я понимаю, CURLOPT_INFILE и CURLOPT_UPLOAD дают возможность закачать только один файл.
Пытаюсь добавить данные в заголовки вот таким способом

Код:

1
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 секунд:
и конечно же

Код:

1
span style="color: #0000BB"><?php...if(!empty($addheader))curl_setopt($page,CURLOPT_HTTPHEADER,$addheader)...?>

Отредактировано Morgan (2010.06.26 11:36)


Натан ротшильд :
Кто владеет информацией, тот владеет миром

Неактивен

#2 2010.07.12 20:07

Koka90
Участник
Откуда: Киев
Зарегистрирован: 2009.09.09
Сообщений: 20
Карма: 0
Профиль Веб-сайт

Re: CURL

Ты переменную $addheaders перезаписуешь.
Может лучше про CURLOPT_POSTFIELDS почитай))))
Добавлено спустя   2 минуты  40 секунд:
Вот ознакомся

Код:

1
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);?>

Жызнь дала трещину, и стала все больше похожа на ЖОПУ!!!

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.009 s