как оценить размер архива до(без) его архивирования с помощью Vclzip
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
- SergeyS
- Сообщения: 196
- Зарегистрирован: 21 ноя 2006, 17:12
- Откуда: Хакасия, Абакан
- Контактная информация:
namomelkor, так в чем проблема? архивируй, смотри что не влазит и говори "не влазит!", пусть указывает какие файлы не нужны... А если он убирает какой-то файл - то и ладно, ничего переархивировать не надо, всё уже в архиве. В любом случае архивация происходит всего один раз. Что ещё надо?
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
немного офф... а что за файлы заливаются что они такого размера???

-
- Сообщения: 230
- Зарегистрирован: 31 авг 2006, 13:11
В архивы заличаются абсолютно любые файлы.Игорь Акопян писал(а):немного офф... а что за файлы заливаются что они такого размера???
На фтп заливаютсяч эти архивы.
- SergeyS
- Сообщения: 196
- Зарегистрирован: 21 ноя 2006, 17:12
- Откуда: Хакасия, Абакан
- Контактная информация:
я так понимаю моё предыдущее объяснение было непонято 
попробую объяснить на примере:
есть несколько файлов подлежащих складированию на ftp:
file1.exe
file2.dat
file3.mp3
file4.txt
сервер их архивирует в следующие файлы:
file1.exe -> file1.exe.zip
file2.dat -> file2.dat.zip
file3.mp3 -> file3.mp3.zip
file4.txt -> file4.txt.zip
подсчитываешь размер файлов и если он не влазит в установленный лимит сообщаешь об этом пользователю "Не влазит!!! Убери лишнее!!!"
Он к примеру убирает file3.mp3, ты прибиваешь file3.mp3.zip и опять проверяешь общий объем, если не влазит опять, то опять повторяешь итерацию, иначе складируешь остальные файлы на ftp:
file1.exe.zip
file2.dat.zip
file3.mp3.zip
file4.txt.zip
Как видишь архивация выполнялась всего один раз. Или я неправильно понял тебя?
блин, file3.mp3.zip мы же удалили, значит его складывать не надо

попробую объяснить на примере:
есть несколько файлов подлежащих складированию на ftp:
file1.exe
file2.dat
file3.mp3
file4.txt
сервер их архивирует в следующие файлы:
file1.exe -> file1.exe.zip
file2.dat -> file2.dat.zip
file3.mp3 -> file3.mp3.zip
file4.txt -> file4.txt.zip
подсчитываешь размер файлов и если он не влазит в установленный лимит сообщаешь об этом пользователю "Не влазит!!! Убери лишнее!!!"
Он к примеру убирает file3.mp3, ты прибиваешь file3.mp3.zip и опять проверяешь общий объем, если не влазит опять, то опять повторяешь итерацию, иначе складируешь остальные файлы на ftp:
file1.exe.zip
file2.dat.zip
file3.mp3.zip
file4.txt.zip
Как видишь архивация выполнялась всего один раз. Или я неправильно понял тебя?
блин, file3.mp3.zip мы же удалили, значит его складывать не надо

-
- Сообщения: 230
- Зарегистрирован: 31 авг 2006, 13:11
В принципе правильно но так можно поступить только с свободным местом на фтп. Но это не подходит к вопросу по свободному месту на диске на него всеравно нужно архивировать все сразу. Например
на фтп 2гига свободного места
у пользователя на винте два файла каждый после архивации занимает 1гиг и места на винте 1.5гиг в этом случае на фтп место есть но отправить их по твоей логике не получится т.к их нужно будет архивировать сразу оба не удаляя.
А мне такой вариант нужно предусмотреть )))
на фтп 2гига свободного места
у пользователя на винте два файла каждый после архивации занимает 1гиг и места на винте 1.5гиг в этом случае на фтп место есть но отправить их по твоей логике не получится т.к их нужно будет архивировать сразу оба не удаляя.
А мне такой вариант нужно предусмотреть )))
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
я конечно извиняюсь, но заливать на фтп по 2 гига....
ИМХО, хочешь сливать такие архивы - пакуй и жди, не влезло - исключай, пакуй и жди снова! Ждать до появления числодробилок, которые будут упаковывать быстрее
В качестве идеи - можно поискать, существуют примерные оценки упаковываемости определённого содержимого (аудио/видео пакуется плохо) и выдавать очень примерный прогноз по содержимому...
ИМХО, хочешь сливать такие архивы - пакуй и жди, не влезло - исключай, пакуй и жди снова! Ждать до появления числодробилок, которые будут упаковывать быстрее

В качестве идеи - можно поискать, существуют примерные оценки упаковываемости определённого содержимого (аудио/видео пакуется плохо) и выдавать очень примерный прогноз по содержимому...

-
- Сообщения: 230
- Зарегистрирован: 31 авг 2006, 13:11
Человек просто будет платить за это деньги и он заплатив не сильно захочет как ты говоришь "пакуй и жди, не влезло - исключай, пакуй и жди снова"
- SergeyS
- Сообщения: 196
- Зарегистрирован: 21 ноя 2006, 17:12
- Откуда: Хакасия, Абакан
- Контактная информация:
если два файла пожатые занимают каждый по 1Гб, то как позволит их совместная архивация поместить полученный архив на 1.5Гб? Ведь выигрыш в сжатии многих файлов в один архив получается только в случае solid архива, а если мы меряем файлы гигабайтами, то раздельное пожатие 1Гб + 1Гб > 1.5Гб или совместное пожатие 2Гб > 1.5Гб ничего не меняет
Я чего-то не допонимаю
Я чего-то не допонимаю
-
- Сообщения: 230
- Зарегистрирован: 31 авг 2006, 13:11
Я говорил не за один архив. Каждый файл в своем архиве. Но в твоем случае их нужно будет создавать оба без удаления а для этого не хватит места.
на фпт 2г на диске два файла(неважно какого размера) который после архивирования занимают по 1г а на диске свободно только 1.5г.
создали первый файл 1г на диске стало 0.5г
создаем второй файл на 1г не хватает места система матюкается. конец.
или же как я щас делаю
создали первый посчитали размер удалили
создали второй посчитали размер удалили
если места хватает то опять создали первый отослали удалили
создали второй отослали удалили.
Может конечно возникнуть идея архивировать все сразу и заставлять человека освобождать место при нехватке. Но эта мысль неверна. Максимум что можно попросить это осободить место для одного файла но не для всех. Для примера человек хочет отослать на фтп весь свой винт(т.е сделать бекап винта) в этом случае человек просто не сможет освободить место нужное для архивирования всего винта
на фпт 2г на диске два файла(неважно какого размера) который после архивирования занимают по 1г а на диске свободно только 1.5г.
создали первый файл 1г на диске стало 0.5г
создаем второй файл на 1г не хватает места система матюкается. конец.
или же как я щас делаю
создали первый посчитали размер удалили
создали второй посчитали размер удалили
если места хватает то опять создали первый отослали удалили
создали второй отослали удалили.
Может конечно возникнуть идея архивировать все сразу и заставлять человека освобождать место при нехватке. Но эта мысль неверна. Максимум что можно попросить это осободить место для одного файла но не для всех. Для примера человек хочет отослать на фтп весь свой винт(т.е сделать бекап винта) в этом случае человек просто не сможет освободить место нужное для архивирования всего винта