php下载文件夹
作者:野牛程序员:2023-11-13 17:18:14python阅读 2658
使用PHP下载整个文件夹可以通过创建一个Zip压缩文件并提供其下载链接来实现。以下是一个简单的PHP脚本,演示如何完成这个任务:
<?php
function zipFolder($folder, $zipFile)
{
$zip = new ZipArchive();
if ($zip->open($zipFile, ZipArchive::CREATE | ZipArchive::OVERWRITE) !== TRUE) {
exit("无法创建或打开 Zip 文件");
}
$files = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($folder),
RecursiveIteratorIterator::LEAVES_ONLY
);
foreach ($files as $name => $file) {
if (!$file->isDir()) {
$filePath = $file->getRealPath();
$relativePath = substr($filePath, strlen($folder) + 1);
$zip->addFile($filePath, $relativePath);
}
}
$zip->close();
}
$folderToZip = '/path/to/your/folder'; // 你要压缩的文件夹路径
$zipFileName = 'downloaded_folder.zip'; // 压缩文件的名称
zipFolder($folderToZip, $zipFileName);
// 设置响应头,告诉浏览器返回一个Zip文件
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename=' . $zipFileName);
header('Content-Length: ' . filesize($zipFileName));
readfile($zipFileName);
// 删除临时生成的Zip文件
unlink($zipFileName);
?>请注意,需要将/path/to/your/folder替换为要下载的实际文件夹的路径。此脚本将文件夹压缩为一个Zip文件,然后将该Zip文件提供给用户进行下载。在提供下载链接后,脚本会删除临时生成的Zip文件,以避免占用服务器空间。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:php 压缩文件夹
- 下一篇:php读取目录下所有文件
