-
Notifications
You must be signed in to change notification settings - Fork 0
kikht/kmlpack
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Средство для упаковки кучи мелких файлов в один большой и раздачи их апачем как будто они лежат как есть. Для хранения файликов используется Berkeley DB. Состав: kmlpack.c - программа для упаковки папки с файлами kmlunpack.c - программа для распаковки обратно kmlfile.php - скрипт выдергивающий из архива один файл kmdb.conf - пример настройки mod_rewrite, перенаправляющий запросы к kmlfile.php Makefile README Использование: 1. Для работы потребуются пакеты libdb и php-dba. 2. Собрать программы. 3. В kmdb.conf исправить имя папки, в которой будут лежать базы с kml (в дальнейшем <path_to_kml>), и параметр RewriteBase - путь на веб-сервере. Скормить конфиг апачу. 4. Положить в <path_to_kml> скрипт kmlfile.php 5. Взять папку с kml за день (например 2012034) и упаковать её kmlpack <path_to_kml>/2012034/ 2012034.db 6. Положить полученный архив в <path_to_kml>, удалить исходную дневную папку. Примечания: 1. Скрипт сильно не оптимальный, каждый раз заново открывается бд для одного единственного запроса. Если как-то сделать кеш открытых бд, то должно работать быстрее, т.к. обычно из одной базы читается сразу по много файлов. 2. Скрипт и конфиг апача предполагают, что мы имеем дело только с дневными папками, которые имеют имена YYYYddd, а соответствующие им архивы YYYYddd.db Все остальное будет игнорироваться. kmlpack, kmlunpack без разницы, что и куда паковать/распаковывать. 3. kmlpack добавляет файлы к базе, если она уже существует. Можно докидывать новые витки в течении дня. 4. kmlunpack нужна исключительно для того, чтобы вернуть всё к исходному состоянию, для работы скрипта она не нужна. Вызвается так: kmlunpack <db_file> <path> 5. Можно одновременно хранить запакованные и незапакованные kml. Перенаправление на скрипт срабатывает только если статический файл отсутствует в каталоге. Автор: Владимир Кихтенко <kva911@gmail.com>
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published