2011-11-24 221 views
0

我想實現像GMail的「將所有附件作爲壓縮文件」的功能。如何將文件壓縮並傳遞到瀏覽器?

有沒有辦法在服務器上選擇多個文件,將它們壓縮並實時傳遞給瀏覽器? (類似於PHP函數readfile東西用於附件流)

[編輯]

看來你誤解了我的意圖,所有給出的例子需要創建和關閉存檔前的發送,我想在創建存檔時進行流式處理。

喜歡的東西unix命令(從拉鍊手冊): zip -r - . | dd of=/dev/nrst0 obs=16k

[EDIT2]

我有噸〜2MB文件(> 100)來服務,等待創建TMP zip文件的強制實施排隊機制並佔用存儲空間...如果可以通過流/管直接向瀏覽器完成,爲什麼我應該在filesyetm中編寫tmp zip?

+1

http://www.php.net/manual/en/zip.examples.php – Piskvor

+0

我讀過這個例子......並且沒有解決方案。 – canni

+0

噢,你的意思是一個完整的,編碼的解決方案,直到最後一個字符,就像「給我編碼」一樣? – Piskvor

回答

1

您的PHP主機可能碰巧安裝了zip extension。 如果是這樣,你應該使用它。 (性能原因)

否則,對於zip歸檔,沒有依賴關係的好庫是PclZip

顯然有一個PEAR library它,但現在已被棄用,焦點已轉移到我已經提到的PECL(二進制)擴展。 (無論如何,整個PEAR生態系統正在逐漸腐爛)

相關問題