schweppes
Новичок
Аплоад файла. php + curl
Здравствуйте!
Возникла проблема в аплоаде файла (картинка jpeg). Я залогиниваюсь на
сайте с помощью курла, сохраняю куки, затем хочу отправить картинку,
которая лежит в текущей директории (image.jpg). С помощью браузера та
же картинка под тем же пользователем загружается нормально. Все хедеры
перехвачены с помощью live http headers для firefox и отправляются
курлом (включая реферер и куки, как я уже сказал). Файл аттачу так,
как написано в мануале, я так понял, курл сам добавит все нужные
заголовки касательно content-length, multipart-encoding:
В результате с @ перед именем файла, выдает curl_error "failed
creating formpost data" , без @ долго думает и HTTP/1.1 413 Request
Entity Too Large . Файл занимает немного больше 19 кб, max_file_size =
512000 байт. Где ошибка в реализации аплоада? Заранее спасибо.
Apache/2.0.52 (Win32) PHP/5.2.1
Здравствуйте!
Возникла проблема в аплоаде файла (картинка jpeg). Я залогиниваюсь на
сайте с помощью курла, сохраняю куки, затем хочу отправить картинку,
которая лежит в текущей директории (image.jpg). С помощью браузера та
же картинка под тем же пользователем загружается нормально. Все хедеры
перехвачены с помощью live http headers для firefox и отправляются
курлом (включая реферер и куки, как я уже сказал). Файл аттачу так,
как написано в мануале, я так понял, курл сам добавит все нужные
заголовки касательно content-length, multipart-encoding:
PHP:
$this->loginAs($username,$password,true);
$this->_url = "http://host/add_photos.php?u";
$post_data['userfile'] = "@image.jpg";
$this->_headers[] = "User-Agent: Mozilla/5.0 (Windows; U; Windows
NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3";
$this->_headers[] = "Accept: text/xml,application/xml,application/
xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
$this->_headers[] = "Accept-Language: en-us,en;q=0.5";
$this->_headers[] = "Accept-Encoding: gzip,deflate";
$this->_headers[] = "Accept-Charset:
ISO-8859-1,utf-8;q=0.7,*;q=0.7";
$this->_headers[] = "Keep-Alive: 300";
$this->_headers[] = "Connection: keep-alive";
$this->_headers[] = "Referer: http://host/add_photos.php";
$this->_headers[] = "Cookie: ".$this->_cookies;
$this->_ch = curl_init($this->_url);
curl_setopt($this->_ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($this->_ch,CURLOPT_HTTPHEADER,$this->_headers);
curl_setopt($this->_ch,CURLOPT_POST,1);
curl_setopt($this->_ch,CURLOPT_HEADER,1);
curl_setopt($this->_ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($this->_ch, CURLOPT_POSTFIELDS, $post_data);
$content = curl_exec($this->_ch);
if(curl_errno($this->_ch))
var_dump(curl_error($this->_ch));
else
var_dump($content);
curl_close($this->_ch);
creating formpost data" , без @ долго думает и HTTP/1.1 413 Request
Entity Too Large . Файл занимает немного больше 19 кб, max_file_size =
512000 байт. Где ошибка в реализации аплоада? Заранее спасибо.
Apache/2.0.52 (Win32) PHP/5.2.1