2011-08-16 60 views
1

我最近給了一個任務,包括上傳一個zip文件,將它作爲博客存儲在數據庫中,然後在客戶端請求時提取並展示該zip文件的內容。哪個更高效:使用系統命令或使用PHP ZipArchive進行壓縮?

我有兩種方法來執行此任務:使用exec命令執行zip命令,該命令在Linux OS本機上運行,​​Web服務器正在運行,或者使用PHP附帶的ZipArchive類。

  • 哪種方法使用最少量的內存?
  • 哪種方法提供最大的靈活性? W
  • 一種方法 比其他方法的主要優點是什麼?
+1

我沒有測試它,所以它不是一個「正確」的答案,但我會說''exec()''在較小的zip文件中速度較慢,因爲您需要開始一個新的進程(==大量的開銷),在大文件中* *可能會更快或更慢,這取決於不同實現使用的算法的效率,唯一的解決方法是測試它,應該是相當容易的。 – Carpetsmoker

+0

我知道一個事實,即PHP zip函數往往不適用於l arge文件...至於開始一個新的過程和開銷:)如果我們仍然有pentium2也許...我會說如果你可以從命令行使用zip。 – Catalin

+0

正如我所說:) http://stackoverflow.com/questions/5745255/php-aborting-when-creating-large-zip-file – Catalin

回答

2

exec('zip')大/多文件的方式更快。內置的例程總是比較慢(由於很多庫調用開銷)系統zip可能具有使用高度優化的例程的優點作爲exec方法的加號,易於將輸出格式從zip更改爲rar,或7zipbzip等...

相關問題