[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите сделать загрузку нескольких файлов по url
Mtcat
Вот мой код:

Форма

 
///Форма
echo '<input type="text" name="url['.$i++.']" maxlength="500" value=""/><br/>
<input type="text" name="url['
.$i++.']" maxlength="500" value=""/><br/>';

///обработчик
$url=count($_POST['url['.$i++.']']);

for($i = 0; $i < $url; $i++){
//открываем сеанс
$curl = curl_init('http://example.com/file.zip');

//задаем параметры

curl_setopt($curl, CURLOPT_USERAGENT, 'Boroda/2.0 J2ME/MIDP');

//открываем файловый дескриптор (куда сохранять файл)

$fp =fopen('save.zip','w+b');

//сохраняем файл

curl_setopt($curl, CURLOPT_FILE, $fp);

//запускаем сеанс

curl_exec($curl);

//закрываем сеанс

curl_close($curl);

//закрываем дескриптор

fclose($fp);

}
Mtcat
Что никто не поможет? (
Xakep
ну а в чем собственно проблема?
Mtcat
Не пойму как составить правильно цикл
Игорь_Vasinsky
какую цель преследуешь? опиши на словах

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Mtcat
Нужно перелать код под загрузку нескольких файлов по url. Как один файл загружать я разобрался, а как несколько не получается сделать. Заранее спасибо.

Есть форма:

echo '<form action="index.php?act=add" method="post">
Добавить фото:<br/>
<input type="text" name="url" maxlength="300" value="" size="30"/><br/>
<input type="text" name="url" maxlength="300" value="" size="30"/><br/>
<input type="text" name="url" maxlength="300" value="" size="30"/><br/>
<input type="submit" class="ibutton" value="Загрузить" />
</form>'
;


И есть код загрузки curl:

//открываем сеанс
$curl = curl_init('http://example.com/file.zip');

//задаем параметры
curl_setopt($curl, CURLOPT_USERAGENT, 'Boroda/2.0 J2ME/MIDP');

//открываем файловый дескриптор (куда сохранять файл)
$fp =fopen('save.zip','w+b');

//сохраняем файл
curl_setopt($curl, CURLOPT_FILE, $fp);

//запускаем сеанс
curl_exec($curl);

//закрываем сеанс
curl_close($curl);

//закрываем дескриптор
fclose($fp);
Игорь_Vasinsky
ну а где цикл?

получил многомерный массив - в foreach его

и каждую итерацию - меняешь $fp =fopen('save.zip','w+b');

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Mtcat
так тип?

/// бред(
Игорь_Vasinsky
ёпт.. ну как ты взялся за курл - если ты не знаешь как foreach работает.

смотри - у тебя многомерный массив в пост

тока

Цитата
<input type="text" name="url" maxlength="300" value="" size="30"/><br/>


исправь на

<input type="text" name="url[]" maxlength="300" value="" size="30"/><br/>


теперь после отправки данных у тя будет элемент массива url - т.е.

$_POST['url'] - он массив

посмотри его так

echo '<pre>' . print_r($_POST, 1) . '</pre>';


теперь цикл

foreach($_POST['url'] as $url){
//Вот тут твой код
//тока файл теперь не в 'save.zip' - а в $url

}


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Mtcat
а у меня так всегда, я со сложными задачи справляюсь, а с мелкими задачами мучаюсь..

Работает, спс.. А сильно уг мой код? И как сделать чтобы загружалось только с тех полей, в которых введена ссылка? Чтобы не заполненные поля не были активными..


$url=count($_POST['url[]']);

foreach($_POST['url'] as $url){
//открываем сеанс
$curl = curl_init(''.$url.'');

//задаем параметры
curl_setopt($curl, CURLOPT_USERAGENT, 'Boroda/2.0 J2ME/MIDP');

//открываем файловый дескриптор (куда сохранять файл)
$a = uniqid();
$path_parts = pathinfo(''.$url.'');
$fp =fopen(''.$a.'.'.$path_parts['extension'].'','w+b');

//сохраняем файл
curl_setopt($curl, CURLOPT_FILE, $fp);

//запускаем сеанс
curl_exec($curl);

//закрываем сеанс
curl_close($curl);

//закрываем дескриптор
fclose($fp);
Mtcat
Где все? smile.gif
Mtcat
Решил проблему, всем спасибо
Быстрый ответ:

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