我在一個特定的目錄中有很多文件。在某個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. 如何使用PHP下載.zip文件
- 2. .zip文件下載爲.php
- 3. 如何將目錄的內容添加到zip文件?
- 4. PHP Zip:提取目錄中的內容
- 5. 使用php下載多個文件作爲zip文件夾
- 6. Tomcat將zip文件下載爲zip
- 7. PHP還是Apache? zip文件的內容是diplayed而不是下載zip文件
- 8. 使用PHP下載40M zip文件
- 9. 使用php下載zip文件夾
- 10. 使用HTTP GET請求下載Zip文件的提取內容
- 11. 如何在不使用HTML內容的情況下使用PHP下載Web目錄之外的文件?
- 12. 如何使用angularjs下載zip文件
- 13. PHP-zip文件中的子目錄內的文件的file_get_contents()
- 14. ZIP的所有文件目錄和下載的.zip產生
- 15. 下載zip文件php
- 16. 如何將zip文件下載到iphone?
- 17. 閱讀目錄內容而不是zip文件內容
- 18. C#如何從3個目錄內容創建zip文件
- 19. 如何在下載之前查看rar或zip文件內容?
- 20. 下載目錄和內容
- 21. 下載蔚藍的容器作爲zip文件asp.net的MVC
- 22. 下載PHP中的Zip文件
- 23. 強制php下載ZIP中的文件
- 24. 將文件的內容回顯給用戶,但將其作爲下載使用
- 25. 在Java中獲取ZIP文件中的目錄內容
- 26. 如何在geb下載zip文件進入當前目錄?
- 27. 可以將zip文件作爲目錄和zip文件中的文件作爲blob處理?
- 28. 列出zip文件的文件和目錄內容
- 29. iPhone:如何將文檔目錄的內容作爲NSMutableArray獲取?
- 30. PHPExcel作爲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