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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Передача POST и файла с помощью CURL

Сообщения:  [1-10] 

 
 автор: Dasha   (12.01.2007 в 12:30)   письмо автору
 
   для: Trianon   (11.01.2007 в 17:24)
 

Спасибо большое, Trianon! Все вчера успешно решилось с Вашей помощью!
Причина была в том, что $params я передавала строкой, а не массивом и указывала не полный путь к файлу!

   
 
 автор: Trianon   (11.01.2007 в 17:24)   письмо автору
 
   для: Dasha   (11.01.2007 в 16:37)
 

обратите внимание на полный путь к передаваемому файлу.

<?php 
$url 
"localhost/test.php";
$params = array(
    
"var1"=>'2'
    
'file' => '@/home/localhost/www/test/test.txt'
);
$ch curl_init();

curl_setopt ($chCURLOPT_SSL_VERIFYPEER0);
curl_setopt ($chCURLOPT_URL$url);
curl_setopt ($chCURLOPT_POST1);
curl_setopt ($chCURLOPT_POSTFIELDS$params);
curl_setopt ($chCURLOPT_RETURNTRANSFERtrue);
if (
curl_errno($ch))
  print 
curl_error($ch);

$xml curl_exec($ch);
if (
curl_errno($ch))
  print 
curl_error($ch);
curl_close($ch);

print_r($xml);
// upload filename1
?>

Этот вариант у меня заработал.

   
 
 автор: ddhvvn   (11.01.2007 в 17:14)   письмо автору
 
   для: Dasha   (11.01.2007 в 17:09)
 

Ну если не заработает, попробуйте "схитрить" - читать файл с помощью file_get_contents и передавать уже эти данные.
Хотя я не уверен, что будет работать на 100% :))

   
 
 автор: Dasha   (11.01.2007 в 17:09)   письмо автору
 
   для: ddhvvn   (11.01.2007 в 16:41)
 

Тестировала еще на двух серверах, там тоже не работает, думаю , что проблема не в них!
Читала несколько сообщений на форумах о том, что пример из мануала не работает. Причина в чем-то другом

   
 
 автор: ddhvvn   (11.01.2007 в 16:41)   письмо автору
 
   для: Dasha   (11.01.2007 в 16:37)
 

Значит проблема с Вашим сервером (Apache или PHP)

   
 
 автор: Dasha   (11.01.2007 в 16:37)   письмо автору
 
   для: Trianon   (11.01.2007 в 16:34)
 

Не работает! Эти два примера я посмотрела в первую очередь

   
 
 автор: Trianon   (11.01.2007 в 16:34)   письмо автору
 
   для: dasha   (11.01.2007 в 16:14)
 

параметры при загрузке файла на сервер должны передаваться не в виде urlencoded, а как multipart/form-data.

В мануале http://ru.php.net/curl_setopt
(точнее в комментариях к нему) есть два примера.
27-Aug-2002 01:31
22-Sep-2001 08:52

   
 
 автор: Dasha   (11.01.2007 в 16:32)   письмо автору
 
   для: ddhvvn   (11.01.2007 в 16:30)
 

нет не выводится. Т.е. когда я передаю обычные параметры, всё чисто отрабатывает, передается то, что нужно. А когда пытаюсь передать файл (указывая его @), то файл не передается, никаких ошибок не возвращается

   
 
 автор: ddhvvn   (11.01.2007 в 16:30)   письмо автору
 
   для: dasha   (11.01.2007 в 16:14)
 

А никакой ошибки не выводится?

   
 
 автор: dasha   (11.01.2007 в 16:14)   письмо автору
 
 

Добрый день!
Никак не получается переслать файл и данные постом с помощью CURL
Скрипт следующего содержания:
$url = "localhost/test.php";
$params = "var1=2&file=@test.txt";
$ch = curl_init();

curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
if (curl_errno($ch)) {
print curl_error($ch);
}
$xml = curl_exec($ch);
curl_close($ch);
Файл test.txt находится в текущей директории.

Читала в документации, там написан именно такой способ передачи, но файл точно не передается.
Была на многих форумах, но ответа не нашла.
Помогите, пожалуйста

   

Сообщения:  [1-10] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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