Пожалуйста, обратите внимание, что пользователь заблокирован
Всем привет вот ищу архиватор файлов в zip архив. Знаете какие нибудь не большие реализации - скиньте пожалуйста
То есть думаешь загружать файлы на серв? А там уже создавать архив средствами php например?Если вес сильно критичен, можно реализовать костыль:
__WOW__MY__FILENAME__имя файла.txt__WOW__MY__FILE__DATA__данные из файла__WOW_MY__FILENAME__...
Ужимаем с помощью любой либы (zlib, lz4, LZO). Я использую minilzo, 1.5 кб весом.
Шлëм все эти данные на сервер, расжимаем, парсим и создаем архив.
Я видел примерно такую реализацию в других стиллерах, они срздают zip архив в памяти. Я уже это тестил и лог собирается очень очень долгоя с zlib в памяти все сжимаю и отправляю. Большего и не надо. Малый вес, быстро сжимает и собирает в памяти. Можно ls4, я как-то тестил. Прям большой разницы не было. (не помню, но какой-то алгоритм херово сжимал)
Ну да. Да без разницы на каком яп. У меня на голанге реализовано в пару строк.То есть думаешь загружать файлы на серв? А там уже создавать архив средствами php например?
Так можно и не сжимать файлы)Ну да. Да без разницы на каком яп. У меня на голанге реализовано в пару строк.
> я с zlib в памяти все сжимаюя с zlib в памяти все сжимаю и отправляю. Большего и не надо. Малый вес, быстро сжимает и собирает в памяти. Можно ls4, я как-то тестил. Прям большой разницы не было. (не помню, но какой-то алгоритм херово сжимал)
ты понял, что ты сказал?) Jeffs предлагает другое, читать файл, сжимать и отправлять на сервак. А там уже другими языками разархивировать.То есть думаешь загружать файлы на серв? А там уже создавать архив средствами php например?
Я примерно так делал. Я выделял буфер malloc. Туда считывал данные из файла, ставил поинт. Сжимал, отправлял на гейт, а потом моя прога по последнему поинту читала еще чанк, сжимала и etc. Правда когда были большие файлы. Главное грамотно реализовать. Если под стиллер, то zlib вполне хватит, потому что грабером макс размер возьмешь 5мб. Больше нету смысла, иначе отстук хуевый будет.Если вес сильно критичен, можно реализовать костыль:
__WOW__MY__FILENAME__имя файла.txt__WOW__MY__FILE__DATA__данные из файла__WOW_MY__FILENAME__...
в процессе реализации. Думаю доделать то, что вышел написал. В качестве алгоритма возьму lzo.> я с zlib в памяти все сжимаю
А можно как-то иначе?)
zlib весит достаточно много, скорость и степень сжатия зависит от алгоритма.
Видел сорцы какого-то бота, весила мало. Согласен с тем, что собирала не быстро, но надежно.zlib весит достаточно много, скорость и степень сжатия зависит от алгоритма.
я же про это и имею ввиду. Например файл steam какой нибудь, он его сжимает и отправляет на сервер - добавляет в архив. и так далее со всеми файлами. Так же?Jeffs предлагает другое, читать файл, сжимать и отправлять на сервак
про этот https://github.com/richgel999/miniz/blob/master/miniz_zip.c?https://github.com/richgel999/miniz - вроде умела zip.
Не понял, там же есть папка с примерами в репозитории, вот пример с апишками для работы с zip: https://github.com/richgel999/miniz/blob/master/examples/example2.cЯ посмотрел все функции, не понял как пользоваться. Есть пример?