Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: PHP и CURL: Загрузка файла
 
 автор: forma   (30.07.2008 в 17:01)   письмо автору
 
 

Имеется:
Windows XP
Apache 2.2.4
PHP 5.2.4

Скрипт:

$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.
В Гугле искал, но ничего не нашел(подобные темы видел, но решения там небыло).

  Ответить  
 
 автор: forma   (30.07.2008 в 17:03)   письмо автору
 
   для: forma   (30.07.2008 в 17:01)
 

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

  Ответить  
 
 автор: mihdan   (30.07.2008 в 18:17)   письмо автору
 
   для: forma   (30.07.2008 в 17:03)
 

cURL отключен-это ведь халявный хостинг )))

  Ответить  
 
 автор: forma   (30.07.2008 в 19:41)   письмо автору
 
   для: mihdan   (30.07.2008 в 18:17)
 

Угу, спасибо:)

  Ответить  
 
 автор: mihdan   (30.07.2008 в 18:19)   письмо автору
 
   для: forma   (30.07.2008 в 17:01)
 

<?
$postdata 
'm=p&k=b&file=file';
curl_setopt($ch2,CURLOPT_POSTFIELDS$postdata); 
?>


$postdata - не массив, а строка: ключ=значение&ключ2=значение2

  Ответить  
 
 автор: Trianon   (30.07.2008 в 18:29)   письмо автору
 
   для: mihdan   (30.07.2008 в 18:19)
 

>$postdata - не массив, а строка: ключ=значение&ключ2=значение2
Если enctype=multipart/form-data? Не надо ля-ля.

  Ответить  
 
 автор: mihdan   (30.07.2008 в 18:36)   письмо автору
 
   для: Trianon   (30.07.2008 в 18:29)
 

Это при условии


<form enctype="multipart/form-data">


но про формы ничего не говорилось

  Ответить  
 
 автор: forma   (30.07.2008 в 19:42)   письмо автору
 
   для: mihdan   (30.07.2008 в 18:36)
 

Не, проблема не в этом.

p.s. Но на всякий случай проверил - точно не в этом:)

  Ответить  
 
 автор: mihdan   (30.07.2008 в 18:40)   письмо автору
 
   для: forma   (30.07.2008 в 17:01)
 

С php.net:

<?
$array_of_vars
[]="var1";
$array_of_vars[]="var2";
$array_of_vars[]="var3";
$array_of_vars[]="var4";

$submit_url "http://www.example.com/reads_post.php";
$formvars["feild1"] = "feild1";

for (
$i=0;$i<sizeof($array_of_vars);$i++)
   
$formvars["array_of_vars[$i]"] = $dna[$i];

  
// init curl handle
$ch curl_init($submit_url);
curl_setopt($chCURLOPT_VERBOSE1);
curl_setopt($chCURLOPT_HEADER1);
curl_setopt($chCURLOPT_FOLLOWLOCATION,1);
curl_setopt($chCURLOPT_RETURNTRANSFER1);
curl_setopt($chCURLOPT_POSTFIELDS$formvars);

// perform post
$rr=curl_exec($ch);
echo 
$rr;
curl_close($ch);
?>

  Ответить  
 
 автор: mihdan   (30.07.2008 в 18:41)   письмо автору
 
   для: forma   (30.07.2008 в 17:01)
 

"file"=>"@".$filename 

  Ответить  
 
 автор: forma   (30.07.2008 в 19:36)   письмо автору
 
   для: mihdan   (30.07.2008 в 18:41)
 

Курл, когда видит собаку, считает всю остальную часть строки путем до файла.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования