[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Отправка формы с файлом через CURL
oxygen
Привет.

Заездил гугл и засверлил клаву до дыр. Никак не выходит разрулить такую задачу:

Нужно отправить форму через CURL
HTML
<form action="get_file.php" method="post" enctype="multipart/form-data">

<input name="name" type="text" />
<input name="email" type="text" />
<input name="foto" type="file" />

<input name="sub" type="submit" value="отправить" />

</form>


Причем так чтобы в get_file.php сформировались массивы $_POST и $_FILES

код get_file.php
PHP
echo "<pre>"; print_r($_POST); echo "</pre>";

echo "<pre>"; print_r($_FILES); echo "</pre>";


Пробывал запустить вот такой код с использованием @ перед именем файла
PHP
$file = $_SERVER['DOCUMENT_ROOT'].'/1.jpg';
$url = 'curl.localhost/get_file.php';
        
               $formvars 
= array("cc"=>"us \n");
        $formvars['name'] = "vasya";
        $formvars['email'] = "mail@mail.ru";
        $formvars['foto'] = "@$file"; // "@" causes cURL to send as file and not string (I believe)

        // init curl handle
        $this->ch = curl_init($url);
        curl_setopt($this->ch, CURLOPT_COOKIEJAR, "my_cookies.txt"); //initiates cookie file if needed
        curl_setopt($this->ch, CURLOPT_COOKIEFILE, "my_cookies.txt"); // Uses cookies from previous session if exist
        
        curl_setopt
($this->ch, CURLOPT_VERBOSE, 1);
        curl_setopt($this->ch, CURLOPT_HEADER, 1);
        curl_setopt($this->ch, CURLOPT_FOLLOWLOCATION,1); // follow redirects recursively
        curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($this->ch, CURLOPT_POSTFIELDS, $formvars);

         curl_exec ($this->ch);


результат нулевой массивы $_POST и $_FILES не формируются. кто сталкивался с подобным или знает решение, поделитесь соображениями.



Спустя 3 часа, 41 минута, 49 секунд (17.12.2008 - 14:13) Guest написал(а):
PHP
$passowrd'allala';
$name ' test';

/
curl_setopt($chCURLOPT_POSTFIELDS"login?Login=".$name."&amp;Password=".$password."action=login");



Спустя 1 минута, 18 секунд (17.12.2008 - 14:15) Dezigo написал(а):
guest - это я .))
всё понятно*)) стало* tongue.gif

Спустя 4 часа, 2 минуты, 9 секунд (17.12.2008 - 18:17) Guest написал(а):
народ, давайте без флуда. может кто нить по существу сказать?

Спустя 3 часа, 5 минут (17.12.2008 - 21:22) kirik написал(а):
oxygen, curl_setopt($this->ch, CURLOPT_POST, 1); перед curl_setopt($this->ch, CURLOPT_POSTFIELDS, $formvars); попробуй поставить

Спустя 1 год, 8 месяцев, 27 дней, 16 часов, 38 минут, 52 секунды (15.09.2010 - 13:01) Rivalryzerg написал(а):
oxygen, а отдельно POST запрос нормально проходит, без загрузки файла?
Также попробуй-то добавить CURLOPT_POST, как написал выше kirik.


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.