Curl - post type: multipart/form-data как послать файл + данные?

Тема в разделе "Как сделать...", создана пользователем MaxLord, 15 дек 2007.

Статус темы:
Закрыта.
  1. MaxLord

    MaxLord

    Регистр.:
    17 фев 2007
    Сообщения:
    325
    Симпатии:
    49
    вот у мну стоит задача - есть такая форма от файл менеджера 1gb.ru
    PHP:
    <FORM ENCTYPE="multipart/form-data" ACTION="./index.php" METHOD=POST>
    Choose a file to upload<BR>
    <
    INPUT  class=btn NAME="fichier" TYPE="file" SIZE="60"><P>
    <
    INPUT TYPE="hidden" NAME="Directory" VALUE=".">
    <
    INPUT TYPE="hidden" NAME="action" VALUE="upload">
    <
    INPUT TYPE="hidden" NAME="sort"    VALUE="NomASC">

    <
    TABLE><TR>
    <
    TD><INPUT class=btn TYPE="Submit" VALUE="Upload" ONCLICK="return SaisieCorrectNomupload(this.form)"></TD>
    </
    FORM>
    <
    FORM METHOD="post" ACTION="./index.php">
    <
    TD>&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="Submit" class=btn VALUE="Cancel" ></TD>
    </
    TR></TABLE>
    <
    INPUT TYPE="hidden" NAME="Directory" VALUE=".">
    <
    INPUT TYPE="hidden" NAME="sort"    VALUE="NomASC">
    </
    FORM>
    Надо написать скрипт, который бы отсылал файл симулируя такую форму самостоятельно, насколько я понимаю - это curl
    Порылся, поискал про передачу файла через post...
    попробовал взять на вооружение, не получилось :) Помогите мастера... плиз =)
    Хех, видимо проблема в кукисах - незнаю как их поставить =( они получаются при открытии страницы Url/page.php?login='.$login.'&password='.$password - (пример Перейти по ссылке) как получить эти куки и использовать их? тоесть сначала надо загрузить эту страницу используя логин и пасс, затем используя куки выгружать файл - симулировать форму...там в кукисах чтото типо PHPSESSID:kjfdgk43k0994kjr ну в таком роде... всего одна строчка...
     
  2. OSTAP

    OSTAP Создатель

    Регистр.:
    23 ноя 2006
    Сообщения:
    49
    Симпатии:
    8
    Слишком много лишних слов и действий.
    Если задача просто послать файл, то ничего кроме правильной формы не надо.

    Код:
    <form action="" method="POST" enctype="multipart/form-data">
        <input type="hidden" name="MAX_FILE_SIZE" value="50000" />
        <input type="file" name="file" />
        <input type="submit" name="submit" value="submit" />
    </form>
    
    Указываешь в экшене обработчик, а там уже ловишь суперглобальный массив $_FILES

    Только учти что скорее всего больше 2 метров ты отправить не сможешь, т.к. на серваке стоит ограничение.
     
  3. roddik

    roddik Колбаска

    Регистр.:
    26 янв 2007
    Сообщения:
    351
    Симпатии:
    288
    CURLOPT_COOKIEFILE
    CURLOPT_COOKIEJAR
     
  4. goodvin

    goodvin Человек-Волшебник

    Регистр.:
    27 июн 2006
    Сообщения:
    667
    Симпатии:
    687
Статус темы:
Закрыта.