php压缩文件夹成zip
时间: 2023-07-06 11:33:56 浏览: 97
php压缩zip文件
5星 · 资源好评率100%
要将文件夹压缩成zip文件,可以使用PHP的ZipArchive类库。以下是一个简单的例子,演示如何将文件夹压缩成zip文件。
```php
$zip = new ZipArchive();
$zip_filename = "example.zip"; // 压缩后的文件名
$folder_path = "example_folder"; // 要压缩的文件夹路径
// 打开zip文件,如果文件不存在则创建
if ($zip->open($zip_filename, ZipArchive::CREATE | ZipArchive::OVERWRITE) === TRUE) {
// 创建文件夹的迭代器
$files = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($folder_path),
RecursiveIteratorIterator::LEAVES_ONLY
);
foreach ($files as $name => $file) {
// 跳过无效的文件
if (!$file->isDir()) {
$filePath = $file->getRealPath();
$relativePath = substr($filePath, strlen($folder_path) + 1);
$zip->addFile($filePath, $relativePath);
}
}
// 关闭zip文件
$zip->close();
echo "文件夹已成功压缩为zip文件";
} else {
echo "无法创建zip文件";
}
```
在上面的例子中,首先创建了一个ZipArchive对象。然后使用open方法打开zip文件,如果文件不存在则创建。接下来,使用迭代器遍历文件夹中的所有文件和子文件夹,并将它们添加到zip文件中。最后,关闭zip文件并输出结果。
阅读全文