[英]How to concatenate zip files in PHP
我使用ZipArchive構建了一個zip文件,其中包含如下目錄結構:
analysis_name /
attachment_file_1.pdf
attachment_file_2.jpg
attachment_file_3.jpg
attachment_file_4.jpg
attachment_file_5.xlsx
這一切都很好,我可以讓用戶下載它而不用擔心。 要求是他們需要能夠將多個分析擬合到一個zip文件中,以便我們有這樣的東西:
analysis_name_1 /
attachment_file_1_1.pdf
attachment_file_1_2.jpg
...
analysis_name_2 /
attachment_file_2_1.pdf
attachment_file_2_2.jpg
...
analysis_name_n /
attachment_file_3_1.pdf
attachment_file_3_2.jpg
...
我面臨的問題是這些組合的zip文件不能超過16 MB,因為它們必須上傳到不同的站點。 所以我要說我有20個分析,大小從500 K到6 MB不等。 如果我使用gzip,我很確定我可以進行單獨的分析gzip,貪婪地連接它們直到下一個文件超過16 MB,然后啟動一個新文件。
是否可以使用zip文件執行此操作? 我並不熱衷於將gzips轉換為zips,因為生成的文件可能會大於16 MB。
我注意到這個問題 ,就像那個作家一樣,我正在尋找一個開源解決方案。
我最終做的是這樣做:
因此,它提供了一個保證小於限制的zip文件列表,並且應該是最少的。
有幾點需要注意:
雖然您可以在PHP中實現它,但我最終用Python編寫它,因為它必須在后台進程中由於響應性而完成,並且因為要求用戶能夠在必要時多次下載生成的zip文件。 有點隨意,我選擇在Python中進行所有后台處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.