Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Сеть > Контролируемое скачивание |
Автор: Black Rabbit 11.1.2007, 02:01 |
Всем привет! Подскажите пожалуйста, насколько возможно реализовать такую задачу: Имеется сайт на котором можно приобрести электронные журналы Человек выбирает интересующие файлы и добавляет в корзину. После оплаты все файлы загоняются в зип архив и отдаются на скачивание Требуется докачка и поддержка менеджеров закачек Должна быть проверка, докачался ли файл до конца - если да, то запрещать повторное скачивание На данный момент вижу только 2 способа реализации - отдача файла по фтп через скрипт, тогда можно реализовать докачку и проконтролировать конец скачивания, но многопоточность и архивирование отпадают Либо реализовывать через символические линки - но как в таком случае узнать, был ли файл докачан до конца? Что же касается предварительного архивирования, по-моему эта задача нерешаема.... не плодить же на сервере многочисленные временные архивы ..... Буду благодарна любым советам ![]() |
Автор: PARROT 11.1.2007, 10:58 |
Black Rabbit, посмотри тут: http://evgeny.neverov.name/articles/pretty-good-download/ |
Автор: Black Rabbit 11.1.2007, 14:21 | ||
Это и есть то, о чем я говорю- способ №1. Только я по фтп передаю файл
Но при таком подходе возникает проблема с менеджерами закачек - приходится ограничивать скачивание одним потоком, иначе файл приходит битым |
Автор: Mal Hack 11.1.2007, 14:53 |
Глянь еще вот это: http://pear.php.net/package/HTTP_Download Думается мне, что тут бы файл через потоки stream открыть... Интересно из-за чего бьется. В принципе или из-за FTP. Не сталкивался с такой задачей, но она интересная. |
Автор: Black Rabbit 11.1.2007, 23:13 | ||
Кажется разобралась! Надо было при коннекте к фтп отключить опцию FTP_AUTOSEEK Вот так работает многопоточно и с докачкой
Только скачивается медленно идет по сравнению с прямым линком. Попробую переписать то же самое на Perl- е.... по идее прирост производительности будет раза в 2-3 больше |