За последние 24 часа нас посетили 39362 программиста и 1722 робота. Сейчас ищут 654 программиста ...

UPLOAD файла с помощью CURL

Тема в разделе "Прочие вопросы по PHP", создана пользователем enshtein, 16 ноя 2007.

  1. enshtein

    enshtein Активный пользователь

    С нами с:
    27 авг 2006
    Сообщения:
    291
    Симпатии:
    0
    некий php-скрипт пытается передать файл в POST массиве на удаленный сервере при помощи CURL, вот код:
    PHP:
    1. $file = base64_encode(file_get_contents("file.zip"));
    2. $curl = curl_init();
    3. curl_setopt($curl, CURLOPT_URL, 'myserver.ru/index.php');
    4. curl_setopt($curl, CURLOPT_POST, 1);
    5. curl_setopt($curl, CURLOPT_POSTFIELDS, "file=$file");
    6. curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
    7. curl_setopt($curl, CURLOPT_VERBOSE,1);
    8. $result = curl_exec($curl);
    9. curl_close($curl);
    на удаленном сервере (myserver.ru/index.php):
    PHP:
    1. $file = fopen("file.zip", 'w+');
    2. fwrite($file, base64_decode($_POST['file']));
    3. fclose($file);
    Однако файл оказывается или битым, или же неполным! В чем проблема подскажите? Что тут не так?
     
  2. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Я хз, често говоря, с cURL. Но post`ом всегда нужно передавать длинну. content-length в заголовках.
     
  3. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград