我在一個特定的目錄中有很多文件。在某個PHP頁面中,我列出了具體鏈接的內容,並分別下載每個項目。現在我需要顯示一個鏈接,它將壓縮該目錄的所有內容,以便任何訪問者可以將所有內容作爲單個ZIP文件下載。如何使用PHP將目錄中的內容作爲ZIP文件下載?
回答
使用ZipArchive的壓縮和解文件和RecursiveDirectoryIterator用於獲取所有目錄中的文件
像
$zipfilename = <zip filename>;
$zip = new ZipArchive();
$zip->open($zipfilename, ZipArchive::CREATE);
// add all files in directory to zip
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator('path/to/files/')) as $filename) {
$zip->addFile($filename);
}
$zip->close();
然後壓縮發送到瀏覽器
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename="'. $zipfilename .'"');
header('Content-Length: ' . filesize($zipfilename));
readfile($zipfilename);
很明顯,您可以將目錄名稱和事件壓縮文件名稱發佈到腳本中,但它會爲您提供起點
當用戶完成下載時,是否有任何選項可以刪除ZIP文件? – 2012-03-30 06:12:41
@SuryaS是的... [unlink](http://php.net/manual/en/function.unlink.php) – ManseUK 2012-03-30 07:56:55
謝謝老大! – 2012-03-30 18:33:06
試試這個
$files = array('file1.txt', 'file2.txt', 'file3.txt');
$zip = new ZipArchive;
$zip->open('file.zip', ZipArchive::CREATE);
foreach ($files as $file) {
$zip->addFile($file);
}
$zip->close();
- 1. .zip文件下載爲.php
- 2. 使用php下載多個文件作爲zip文件夾
- 3. PHP-zip文件中的子目錄內的文件的file_get_contents()
- 4. 如何使用angularjs下載zip文件
- 5. 下載zip文件php
- 6. 如何將zip文件下載到iphone?
- 7. 如何在下載之前查看rar或zip文件內容?
- 8. C#如何從3個目錄內容創建zip文件
- 9. 下載蔚藍的容器作爲zip文件asp.net的MVC
- 10. 強制php下載ZIP中的文件
- 11. 將文件的內容回顯給用戶,但將其作爲下載使用
- 12. 如何在geb下載zip文件進入當前目錄?
- 13. 可以將zip文件作爲目錄和zip文件中的文件作爲blob處理?
- 14. 列出zip文件的文件和目錄內容
- 15. iPhone:如何將文檔目錄的內容作爲NSMutableArray獲取?
- 16. Android AsyncTask將文件下載爲目錄
- 17. 如何在asp.net中下載圖像數組作爲zip文件
- 18. 如何使用wget將大量zip文件下載到網址
- 19. 如何計算Kohana PHP中文件下載的內容長度?
- 20. 如何在C#中下載zip文件?
- 21. 如何將zip文件的「URL」顯示爲下載按鈕?
- 22. 如何下載用的file_get_contents PHP生成的ZIP/RAR文件
- 23. c#提取目錄下的zip文件
- 24. 如何將div內容作爲純文本使用innerHTML,然後將其下載爲txt文件?
- 25. PHP:如何訪問根目錄下的下載文件夾?
- 26. 將textarea內容作爲僅使用Javascript的文件下載(無服務器端)
- 27. 如何讓用戶使用vaadin文件下載器下載zip文件
- 28. 如何使用MSBuild提取目錄中的多個zip文件
- 29. 如何使用python檢索zip文件中的目錄?
- 30. 如何使用Salesforce上的JSZip將多個文件從Google Drive下載爲.zip
您是否需要一個PHP腳本來創建目錄中內容的zip文件? – Araw 2012-03-29 08:17:26
是的,這就對了。 – 2012-03-29 08:20:34
你可以看看這個:http://davidwalsh.name/create-zip-php 或者你可以看看其他答案,這是相同的解決方案。 – Araw 2012-03-29 08:25:34