2010-06-11 45 views
0

由於許多社交網站存在一些主要的隱私問題,我正在嘗試考慮替代方案。一種是讓用戶保存所有存儲在某種文件容器中的信息。現在,我還沒有找到可以容納「通用」信息的單一類型的容器。僅限音頻/視頻。我想要的是一個容器,PHP可以通過某種索引文件讀取容器中的圖像/目錄中的用戶圖片,FOAF文件(或一些描述用戶信息和朋友的備選XML文件等)。 )。用於快速讀取數據的通用文件容器

我的想法是讓用戶將所有信息和數據保存在一個容器中,該容器可以從我的服務器(我試圖創建的原型社交網站)導入/導出並刪除,然後上傳到另一個網站可能會使用相同的格式(不是我認爲會發生,但用戶仍然保留所有圖片,數據,評論,消息等)。

我唯一想出來的就是創建一個帶有Archive_tar庫的tar歸檔文件,它提取並創建一個索引文件,用於描述哪些文件正在保存這些消息(可能有幾個這樣的每個文件不會那麼大),圖片/文件夾中的圖片是什麼,他們的名字是什麼以及他們收到了什麼意見等。也許還有查看每種類型內容的權限。

是否存在容器的任何通用文件格式,我可以使用它來將所有這些信息保存在具有樹狀索引文件的一個文件中?或者我必須嘗試自己創造這樣的東西嗎?

+0

不知道你在問什麼,但爲此我想到的最通用和可移植的文件格式是一個XML文件。 – Gordon 2010-06-11 09:24:54

+0

@Gordon XML文件將是一種用於索引的便攜式文件格式,但它不會是一個容器,用於保存所有文件和數據存儲在一個文件中 編輯:解釋它更簡單:在音頻/視頻容器,就像Matroska f.ex.,你有一個視頻文件和一個音頻文件以及一個描述matroska容器內文件的索引文件。我想要的不是音頻/視頻,而是一般文件。 – bleakgadfly 2010-06-11 09:36:27

+0

我仍然可能沒有得到它,但可以轉換二進制數據,例如一個JPG格式爲base64格式,然後將其存儲在XML文件中。它可能會膨脹XML文件,但這不是你正在尋找的基本內容嗎?作爲替代,你是否考慮過使用SQLite呢? – Gordon 2010-06-11 09:47:08

回答

0

是否存在,我可以用它來保持所有這些信息

沒有一個容器的任何通用文件格式 - 有很好的理由。你需要非常複雜的鎖定語義(這很難實現)。即使這種性能會令人震驚 - 你正在建議在PHP中編寫自己的文件系統?例如,微軟的OLE是嵌入到單個文件中的文件系統 - 他們對於如何使用這個文件非常有選擇性。

開始思考'目錄'而不是'文件',解決方案將變得清晰,但我完全沒有看到這與社交網站的隱私問題有什麼關係,更不用說解決它們。

C.

+0

不,我不是在PHP中編寫存檔方法,我會用C或同等方式編寫它,但是我想要在PHP中使用它來閱讀內容。我已經考慮使用tar歸檔,但是我希望有一個PHP腳本在釋放前讀取頭文件。 最好的解決方案是擁有一個已經存在的格式,並且我不能比XML或tar更近。 – bleakgadfly 2010-06-12 12:29:42

1

做什麼OpenDocumentFormat(ODF)不:產生與URI的一個XML文件(無論是本地,如文件://或遠程)指向其他文件。爲XML文件(root.xml或類似文件)提供一個通用名稱。將其全部拉出並更改擴展名。

Zip到處都是常見的 - 即使Windows可以本機打開它 - 這使得如果用戶想要提取圖片/電影/等,而無需下載額外的工具,它很好。