Не знаю, как это делают... Есть файлы на диске. Надо их "скачать из браузера". Ну, обычно мы делаем tar-архив, и его отдаем. Но это удвоение места на диске! А не делают этот tar "на лету", отдавая нужный кусочек, потом следующий... А?
Спасибо! Я вижу, Вы тож любитель извращенных вопросов P.S. Хотя тут вопрос был больше про то, как на практике резанный Tar на лету делают... Но, наверное, это в иной форум...
чтобы контролировать процесс - скрипт по ссылке что я дал а направить поток не мешает ничего. только я не очень понимаю зачем.
В зип и отдал =) Можно даже не хранить в папке, а сразу в зипе. Зависит от обстоятельсв. Что у вас за проект?
Ага, и для этого зипа Вам придется иметь дофига свободного места на диске, вау! А пользователь взял и оборвался. И ЦПУ мы сколько потратили на этот зип? Нет у меня проекта. Хоть я и неверующий, но ковчег построили ДО потопа. Вчера в SPY GAMES говорили Просто размышляю...
Вы какую-то чепуху городите. Вы хотите оттдать папку? Отдайте в архиве. Самый распространенный архиватор - зип. Если вы проводите чисто теоретические изыскания, то флаг вам в руки.
ВОТ! И после этого тупые МЫ, задающие вопросы. Эх, практики... А подумать лень. Я не хочу заставлять заказчика оплачивать лишнее ДП и ЦПУ для моих сайтов. Между тем, как разработчик, хочу сделать так, чтобы мой продукт умел такие банальные вещи. Но делать их бездумно не собираюсь, благо, возраст позволяет. Захожу на форум раз в год и вижу людей, которые не хотят думать... Форум? Или PHP? Особо видящим чепуху повторяю. Ваш способ предполагает хранение архива, сопоставимого с размером папки, на диске. Это накладные расходы ДП, никто не показал мне необходимость этого. Или я Вас не понимаю...
Ну, архивы, наверно всё-таки не так много весят. По крайней мере если там тексты всякие, скрипты, вёрстка. Если архив с jpg какими-нибудь - то да, прилично. Тебе в любом случае придётся чем-то жертвовать. Если ты хранишь архив на диске - то расходуется дополнительное место, при этом процессор погрузится только один раз при создании архива (ну, видимо, и при изменении архива). Если ты не хранишь архивы постоянно - дополнительное место не расходуется, но процессор при этом грузится каждый раз, когда скачивают архив. По другому никак. Хранить архив на диске - это ещё и дополнительные сложности, потому как придётся контроллировать изменения папки (когда в папке появляется что-то новое или удаляется что-то старое или изменяется). При изменении папки придётся также менять архив. Я бы не стал хранить архивы папок на диске, а генерировал бы их на лету и отдавал пользователю. Наврядли этой функцией будут пользоваться чаще, чем раз в неделю, по этому не думаю, что это создаст серьёзные проблемы с точки зрения загрузки процессора. Как вариант, если очень хочется всё же хранить архивы на диске - можешь не создавать ничего изначально. При первом скачивании данной какой-то папки - создавать архив этой папки, отдавать пользователю и сохранять. При последующих скачиваниях этой папки - проверять, есть ли уже её архив, если есть - отдавать его, а если нет - то, соответственно, создавать, отдавать пользователю и сохранять. При изменениях в папке (новые файлы, изменения файлов и т.п.) - проверять, есть ли архив этой папки и если есть - удалять его (новый не создавать). Вот как-то так.
sobachnik Это все ясно. Вопрос - как архивы лихо ГЕНЕРИТЬ НА ЛЕТУ, ПО ЧАСТЯМ. А об этом тут писать не хотят. Ибо "ZIP самый распространенный, вот и пакуй".
kuraga Ну, возможно просто те, кто заходил в тему - и сами не знают, как это делать "ЛИХО" Я, например, не знаю. Никогда не генерировал архивы средствами PHP - просто не сталкивался никогда с такой необходимостью. Вот ты сейчас столкнулся - возьми и попробуй разные библиотеки для создания архивов - гоняй каждую по несколько раз, сравнивай время работы, смотри, сколько памяти было израсходовано и т.п. Потом можешь и тут показать результаты исследований. Что касается твоего примера про заказчика - я бы просто предоставил FTP доступ к папке его сайта и пусть делает там что хочет. Если не знает, что такое FTP - объясню.
sobachnik Согласен, просто не хотел изобретать велосипед, если он изобретен. Про заказчика я имел ввиду просто то, что он не должен платить, если есть метод эффективнее и дешевле.
Он просто фантазирует. Нет задачи - нет решения. Бредор который генерит данный пенсионер не связан с реальностью.
Как Вы узнали, что я пенсионер?))) Ну вот Вам задача... ВКонтакте - наладить скачивание частей фотоалььбомов. Картинки отмечаю чекбоксом, потом сабмит. Жду разумного решения, представитель молодежи
Самое интересное то, что на форумах других языков наплодили интересные решения, хотя порой и смешные, и всем интересно участвовать в дискуссии
Вы причисляете себя к несуществующей группе, которую противопоставляете друй несущестующей группе. Ваш возраст при этом не важен. Поведение типичное для скучающих пенсионеров, решившихся на подвиги. Часто встречается среди приверженцев альтернативной истории (атланты и т.п.) и альтернативной же науки (эфир).
Вы правы во всем, кроме эфира В детстве играл в Атлантиду... Психолог из Вас неплохой... Только какие группы-то?
А я люблю этот форум за то, что плотность полезной информации на нем выше, чем где бы то ни было. В ваших вопросах вы не даете достаточно данных для принятия решения. Так что вести разумный диалог по этим вопросам невозможно. Если вам интересно на самом деле, то можно обсудить. Но тогда придется ограничить фантазию и говорить по делу.
Вы исходите из экономии денег. На самом деле под такой функционал вполне можно отвести и 200 000 рублей. Это вовсе не такие большие деньги как вам с вашей пенсией кажется. Это не оскорбление. Это суровая реальность. Формировать архив и хранить его несколько часов после последнего запроса. Для докачки.