curl -> загрузка файла

Статус
В этой теме нельзя размещать новые ответы.

kip

Постоялец
Регистрация
7 Янв 2007
Сообщения
145
Реакции
15
Дано такая форма:
HTML:
<form action="script.php" method="POST">
<INPUT TYPE="file" NAME="file" SIZE=20><BR>
Как курлом такие данные передать? :confused:
 
Дано такая форма:
<form action="script.php" method="POST">
<INPUT TYPE="file" NAME="file" SIZE=20><BR>


Как курлом такие данные передать? :confused:
PHP:
 $post = array('file'=>"@C:\file.txt");   
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://...script.php');      
curl_setopt($ch, CURLOPT_POST,1);   
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);   
$result = curl_exec ($ch);
 
Можно по ftp:

PHP:
// FTP this script to a server  
$fp = fopen(__FILE__, "r");  
$url = "ftp://username:password@mydomain.com:21/path/to/newfile.php";  
$ch = curl_init();      
curl_setopt($ch, CURLOPT_URL, $url);   
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);   
curl_setopt($ch, CURLOPT_UPLOAD, 1);   
curl_setopt($ch, CURLOPT_INFILE, $fp);   
curl_setopt($ch, CURLOPT_FTPASCII, 1);   
curl_setopt($ch, CURLOPT_INFILESIZE, filesize(__FILE__));   
$result = curl_exec($ch);   
curl_close($ch);
 
Можно по ftp:

PHP:
// FTP this script to a server  
$fp = fopen(__FILE__, "r");  
$url = "ftp://username:password@mydomain.com:21/path/to/newfile.php";  
$ch = curl_init();      
curl_setopt($ch, CURLOPT_URL, $url);   
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);   
curl_setopt($ch, CURLOPT_UPLOAD, 1);   
curl_setopt($ch, CURLOPT_INFILE, $fp);   
curl_setopt($ch, CURLOPT_FTPASCII, 1);   
curl_setopt($ch, CURLOPT_INFILESIZE, filesize(__FILE__));   
$result = curl_exec($ch);   
curl_close($ch);
:D При чём тут фтп? Человеку нужно сэмулировать отправку формы с файлом.
 
PHP:
 $post = array('file'=>"@C:\file.txt");   
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://...script.php');      
curl_setopt($ch, CURLOPT_POST,1);   
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);   
$result = curl_exec ($ch);

Хм., весьма интересный код, хотя с курлом давно работал - но чё-то с таким ещё не сталкивался ;)

KillDead, не подскажете - а такой код можно использовать загрузки в формы файлообменников (типа depositfiles и т.п.) - там по сути такая же форма, только ещё надо придумать как избежать обрыва при загрузке больших файлов (max_execution_time?).

И самое главное, как-то авторизироваться (чтобы файлы считались своими) ;)
 
Ммм... т.е. через собаку просто надо было =)
Спасибо
 
Хм., весьма интересный код, хотя с курлом давно работал - но чё-то с таким ещё не сталкивался ;)
KillDead, не подскажете - а такой код можно использовать загрузки в формы файлообменников (типа depositfiles и т.п.) - там по сути такая же форма, только ещё надо придумать как избежать обрыва при загрузке больших файлов (max_execution_time?).
И самое главное, как-то авторизироваться (чтобы файлы считались своими) ;)
Запускай на своем сервере.
 
Запускай на своем сервере.
Ыыы, жесть совет:D
KillDead, не подскажете - а такой код можно использовать загрузки в формы файлообменников (типа depositfiles и т.п.) - там по сути такая же форма, только ещё надо придумать как избежать обрыва при загрузке больших файлов (max_execution_time?).
Принципиально- никакой разницы нет, токо дело в парсинге значений, которые нужно передать:
1- либо авторизироваться, либо сразу перейти ко п.2 отослать кук авторизации (который можно посмотреть в браузере)
2- отослать файл через форму, в параметрах curl указать cookies полученный при авторизации.
 
Ыыы, жесть совет:D
Принципиально- никакой разницы нет, токо дело в парсинге значений, которые нужно передать:
1- либо авторизироваться, либо сразу перейти ко п.2 отослать кук авторизации (который можно посмотреть в браузере)
2- отослать файл через форму, в параметрах curl указать cookies полученный при авторизации.
Ты явно не понял в чем проблема.
Проблема в том что на шаред хостинге лимит работы php скрипта 30 секунд.
На своем сервере такого нет, вернее ты можешь сам настроить лимит.
И стоит он не так дорого. (firstvds.ru, fastvds.ru)
 
Подскажите как в таком случе будет выглядить запрос
HTML:
<form enctype="multipart/form-data" action="/photo1.php?id=99" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="3145728">
<input name="userfile" type="file">
<input type="submit" value="Загрузить">
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху