Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> улучшить скрипт закачки на сервер, минуя локальную машину 
:(
    Опции темы
AleksandrI
Дата 20.7.2009, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 23.5.2008

Репутация: нет
Всего: нет



есть такой вот скрипт:
Код

<?php
define('BUFSIZ', 4095);
$url = 'http://www.example.com/example.zip';
$rfile = fopen($url, 'r');
$lfile = fopen(basename($url), 'w');
while(!feof($rfile))
fwrite($lfile, fread($rfile, BUFSIZ), BUFSIZ);
fclose($rfile);
fclose($lfile);
?>


подскажите, пожалуйста, как его поправить для скачивания списка файлов?
PM MAIL   Вверх
lelik133
Дата 20.7.2009, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 517
Регистрация: 5.2.2003
Где: Москва

Репутация: 5
Всего: 14



опишите задачу словами, что вы хотите сделать?
PM ICQ   Вверх
AleksandrI
Дата 20.7.2009, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 23.5.2008

Репутация: нет
Всего: нет



этот скрипт при запуске из браузера скачивает в текущую директорию файл example.zip, который находится на внешнем для него сервере example.com. мне необходимо скачивание заданного списка файлов, а не по одному как сейчас - т.е. всего лишь улучшить удобство пользования данным скриптом. 
PM MAIL   Вверх
lelik133
Дата 20.7.2009, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 517
Регистрация: 5.2.2003
Где: Москва

Репутация: 5
Всего: 14



ну тогда организуйте цикл по списку файлов и скачивайте в цикле по одному точно так же как делаете сейчас.  в чем проблема?
PM ICQ   Вверх
krundetz
Дата 20.7.2009, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 20
Всего: 69



AleksandrI выносим твой код в функцию fileLoad, создаем массив с адресами файлов $urlList и пробегая по нему в цикле вызываем функцию загрузки.
Код

<?php
define('BUFSIZ', 4095);
function fileLoad($url){
$rfile = fopen($url, 'r');
$lfile = fopen(basename($url), 'w');
while(!feof($rfile))
fwrite($lfile, fread($rfile, BUFSIZ), BUFSIZ);
fclose($rfile);
fclose($lfile);
}
$urlList = array('http://www.example.com/example2.zip','http://www.example.com/example2.zip', .... , 'http://www.example.com/exampleN.zip');
foreach($urlList as $url)
{
fileLoad($url);
}
?>


Это сообщение отредактировал(а) krundetz - 20.7.2009, 16:52


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
AleksandrI
Дата 20.7.2009, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 23.5.2008

Репутация: нет
Всего: нет



lelik133, дело в том, что я с трудом пока несложный код читаю не то что писать...

krundetz, спасибо, но я получаю такой вот циклический вывод:
Warning: fopen(http://www.home.com/example.zip) [function.fopen]: failed to open stream: HTTP request failed! in /home/script.php on line 4

Warning: feof(): supplied argument is not a valid stream resource in /home/script.php on line 6

Warning: fread(): supplied argument is not a valid stream resource in /home/script.php on line 7
...
PM MAIL   Вверх
AleksandrI
Дата 20.7.2009, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 23.5.2008

Репутация: нет
Всего: нет



по подсказке сделал так:
Код

<?php
define('BUFSIZ', 4095);

$urlArray = split("\n", file_get_contents("urls.txt"));
foreach ($urlArray as $url){
        if($rfile = @fopen($url,r)){
                $lfile = fopen(basename($url), 'w');
                while(!feof($rfile))
                        fwrite($lfile, fread($rfile, BUFSIZ), BUFSIZ);
        }
}
fclose($lfile)
?>


в urls.txt должен быть unix-тип конца строки, каждый url c новой строки.

Это сообщение отредактировал(а) AleksandrI - 20.7.2009, 19:24
PM MAIL   Вверх
nerezus
Дата 20.7.2009, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43





--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0536 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.