PHP и CURL: Загрузка файла

Ceyce

Новичок
PHP и CURL: Загрузка файла

Имеется:
Windows XP
Apache 2.2.4
PHP 5.2.4
PHP:
$filename = "img.png"; // Полный путь пробовал указывать, тоже самое.

$postdata=array(
		"m"=>"p",
		"k"=>"b",
		"file"=>"@".$filename
		);

 $ch2=curl_init();
 curl_setopt($ch2,CURLOPT_URL,"__URL__");
 curl_setopt($ch2,CURLOPT_RETURNTRANSFER,1);
 curl_setopt($ch2,CURLOPT_TIMEOUT,60);
 curl_setopt($ch2,CURLOPT_POST,1);
 curl_setopt($ch2,CURLOPT_POSTFIELDS,$postdata);
 $result=curl_exec($ch2);
 if (strlen(curl_error($ch2))!=0) echo "curl_error: ".curl_error($ch2)."\n";
 curl_close($ch2);
Возвращает - curl_error: failed creating formpost data
Из-за чего могла возникнуть проблема?

P.S.
В поиске смотрел, ничего не нашел(подобные темы видел, но решения там небыло).
 

Ceyce

Новичок
Автор оригинала: grigori
"@$filename" - эт что за хрень?
Эт, эту часть я скопировал с другого скрипта. Лень было исправлять.:)

ну попробуй "file"=>'@' . $filename я хз)
Ну на всякий случай попробовал, ничего не изменилось.

P.S.
Загрузил скрипт на бесплатный хостинг, там следующая ошибка:
curl_error: Failed connect to www.URL.com: 13
Кто то знает, из-за чего могла возникнуть эта ошибка?
 

Ceyce

Новичок
это для аплоада файлов.
курл, когда видит собаку, считает всю остальную часть строки путем до файла.
А я думал он о том что я пишу - "@$filename", вместо - "@".$filename.

А права есть на чтение файла-то?
В Windows все по умолчанию 777.

Мне все таки интересней почему выдало ошибку на хостинге:
curl_error: Failed connect to www.URL.com: 13
 

tony2001

TeaM PHPClub
Ceyce
да файрволл это.
ну кто же тебе даст выходить наружу с бесплатного хостинга?
 

MaxZa

Новичок
Re: PHP и CURL: Загрузка файла

Сам целый день бился с этой ситуацией,
так вот... надо указывать ПОЛНЫЙ (АБСОЛЮТНЫЙ) путь к файлу, я сделал так:
PHP:
<?
$curl=curl_init("http://localhost/phpinfo.php");

$f=getcwd().'/img.png';

curl_setopt($curl, CURLOPT_POSTFIELDS, array('file'=>"@$f"));

curl_exec($curl); print curl_error($curl);

curl_close($curl);
?>
и так все заработало, и в пхпинфе видно что заполняется массив _FILES.
А до этого была та же ошибка что и у тебя.
 

iSlayter

Новичок
MaxZa, блин а я спамилку для одной соц.сети писал. Делал 1 в 1 (полный физ. путь, ес-но) ток файл не аплодился...

форма оставалась в том виде, в каком и выдавалась. так и не дописал спамилку. мож оно и к лучшему? )
 

MaxZa

Новичок
Это абсолютно рабочая версия, сегодня тестил повторно.
И кстати на удаленном хосте сейчас попробовал - без полного пути, тоже работает...
Отличие - на локалхосте Винда, на удаленном *Никс, и версии РНР разные может с этим связано, не знаю. Но на локалхосте только полный путь прокатывает, иначе - failed creating formpost data
 

Ceyce

Новичок
Я извиняюсь что не написал - проблема решена:)

Кстати да, я нагло наврал, проблема была как раз в том что не указал полный путь. Дело в том, что я пробовал полный путь когда присутствовала другая ошибка:)

Всем спасибо за помощь!
 
Сверху