PDA

Просмотр полной версии : php, заказы на скачивание файлов


Amper128
28.03.2009, 20:40
Помогите описать в общих чертах алгоритм реализации (я не прошу код так как в состоянии написать самостоятельно, просто возникли трудности в реализации)

Суть такова:
При заходе на сайт виден список файлов
Юзеры (аккаунты создаются адинистратором) логинятся на сайте, в специальную форму добавляют ссылку на файл и описание, выбирают категорию
скрипт добавляет данные в базу
далее что-то извлекает эти данные из базы, качает и после скачивания добавляет в базу информацию о ссылке на файл на сервере, после чего файл появляется в общем списке на сайте. (вот тут собственно и проблемы)
через определенный промежуток времени файлы удаляются с сервера.
Так же на странице пользователя показывается информация о его добавленных закачках (которые ожидают и которые уже находятся в обработке)

Gifts
28.03.2009, 20:46
Amper128 В чем может быть проблема оО? Кроном запускаем скрипт, который берет ссылки для скачивания и скачивает.

Если есть какой то исходный список - то к нему можно добавлять новые файлы. Либо тот же кроновый скрипт обновляет список, либо при обращении пользователя смотрим БД и выводим файлы. Mysql_query('SELECT * FROM zakachki WHERE is_downloaded=1');

mailbrush
28.03.2009, 20:49
(вот тут собственно и проблемы)
Если у тебя только тут проблемы - это не проблема :). Создай еще одну ROW в таблице под названием listed. Дальше чекаешь, если его значение 1 - он выводится в скрипт, если же 0 - нет. Алгоритм вообще прост. Мне щас нечего делать - поэтому стучи в аську 674542, напишу скриптец =).

Amper128
28.03.2009, 22:08
а тогда как именно качать?
сокеты? а если файл на 12гб?
wget? а чем его запускать?
извините, если вопросы тупые, оч устал

Sharky
28.03.2009, 22:17
system('wget http://site.com/file.exe');

.:EnoT:.
28.03.2009, 22:42
а тогда как именно качать?
сокеты? а если файл на 12гб?
wget? а чем его запускать?
извините, если вопросы тупые, оч устал
Да хоть террабайт....по кускам читай файл и вовремя очищай буфер.

Amper128
28.03.2009, 23:30
А как быть с ограничением по времени выполнения скрипта?
И как отследить успешное выполнение команды wget?