ФорумПрограммированиеPHP для идиотов → Curl, POST и файл... Помогите...

Curl, POST и файл... Помогите...

  • komyak

    Сообщения: 17 Репутация: N Группа: Кто попало

    Spritz 13 февраля 2010 г. 8:20

    Не могу понять в чём трабла. Пытаюсь отправить файл с помощью курла, но ничего не получается.
    Прохожу авторизацию на сервере, получаю скрытые параметры и пытаюсь отправить файл book.htm :

    //name: test.php
    ………………………………..//Здесь авторизация

    $upload = 'book.htm';
    $data = array("token" => $token[1],
    "name" => 'bookFile',//
    'upload' => "@".$upload,
    "visibility" => "openned",
    "show" => "1",
    "go_save" => "Импортировать");

    $result=post("http://localhost/test2.php",$data,$referer);
    echo $result;

    Форма отправки выглядит так:

    <form enctype="multipart/form-data" action="" method="post">
    <input type="hidden" name="token" value="XXXXXXXXX" />
    <input type="file" name="bookFile" size="44" class="text" />
    <input name="visibility" value="openned"/>
    <input name="show" value="1"/>
    <input type="submit" name="go_save" value="Импортировать" />
    </form>

    Но ни Х не получается… Подскажите в чём может быть проблема?
    Файл book.htm находится рядом со скриптом отправщиком.
  • Ewg777

    Сообщения: 510 Репутация: N Группа: Джедаи

    Spritz 13 февраля 2010 г. 8:23, спустя 3 минуты 21 секунду

    Покажите post функцию. У Вас новая сессия курл создалась?
    Хомяк, юзай dudeCurl
  • komyak

    Сообщения: 17 Репутация: N Группа: Кто попало

    Spritz 13 февраля 2010 г. 8:27, спустя 4 минуты 5 секунд

    Пост:

    function post($url,$post,$refer)
    {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    curl_setopt($ch, CURLOPT_REFERER, $refer);
    curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook");
    curl_setopt($ch, CURLOPT_COOKIEFILE, "./cook");
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($ch);
    return $result;

    }

    юзай dudeCurl

    Сначала что-нибудь попроще =)) У меня с классами хреново.
    Хомяк

    Комяк
    Спустя 76 сек.
    Вас

    тебя

Пожалуйста, авторизуйтесь, чтобы написать комментарий!