Универсальный файловый контейнер для быстрого чтения данных
Поскольку на многих сайтах социальных сетей существуют серьезные проблемы с конфиденциальностью, я пытаюсь найти альтернативы. Одним из них является предоставление пользователю возможности хранить всю информацию, хранящуюся в каком-либо файловом контейнере. Сейчас я не нашел ни одного типа контейнера, который мог бы содержать "общую" информацию. Только для аудио / видео. То, что мне нужно, это контейнер, который может быть прочитан PHP с каким-то индексным файлом, в котором перечислены изображения пользователей в каталоге изображений / в контейнере, файлы FOAF (или какой-нибудь альтернативный XML-файл с описанием информации о пользователях и друзьях и т. Д.).).
Я думал о том, чтобы позволить пользователю хранить всю свою информацию и данные, хранящиеся в контейнере, который можно импортировать / экспортировать и удалять с моего сервера (прототип сайта социальной сети, который я пытаюсь создать), а затем загружать на другой сайт, который может использовать тот же формат (я не думаю, что это когда-нибудь случится, но пользователь по-прежнему хранит все свои фотографии, данные, комментарии, сообщения и т. д.).
Единственное, что я пока придумал, - это создать tar-архив с библиотекой Archive_tar, который извлекает и создает Tar-архивы с индексным файлом, описывающим, какие файлы содержат сообщения (их может быть несколько, поэтому каждый файл не будет такие большие), какие изображения находятся в изображении / папке, как их имена и какие комментарии они получили и т. д. Возможно, также разрешения для просмотра каждого типа контента.
Существует ли какой-либо общий формат файла контейнера, который я могу использовать, чтобы хранить всю эту информацию в одном файле с древовидным индексным файлом? Или я должен попытаться создать что-то подобное сам?
2 ответа
Существует ли какой-либо общий формат файла контейнера, который я могу использовать для хранения всей этой информации
Нет - и не зря. Вам понадобится очень сложная семантика блокировки (которую очень сложно реализовать). Даже при такой производительности было бы ужасно - вы предлагаете написать свою собственную файловую систему на PHP? Хотя, например, Microsoft OLE - это файловая система, встроенная в один файл - они очень избирательно относятся к тому, как они это используют.
Начните думать "каталог" вместо "файл", и решение станет ясным, однако я совершенно не понимаю, какое отношение это имеет к проблемам конфиденциальности сайтов социальных сетей, не говоря уже о их решении.
C.
Сделайте то, что делает OpenDocumentFormat (ODF): создайте файл XML с URI (локальными, например, file:// или удаленными), указывающими на другие файлы. Дайте общее имя XML-файлу (root.xml или аналогичный). Поместите все это и измените расширение.
Zip распространен повсеместно - даже Windows может открыть их изначально - что делает его удобным, если пользователь хочет извлечь фотографии / фильмы / и т. Д. Без необходимости загружать дополнительный инструмент.