php把指定路径文件夹 打包成zip
时间: 2023-08-01 16:07:57 浏览: 106
php将文件夹打包成zip文件的简单实现方法
在 PHP 中,你可以使用 `ZipArchive` 类来将指定路径的文件夹打包成 zip 压缩包。`ZipArchive` 类提供了一系列方法,可以实现打包、解压缩、添加文件、删除文件等操作。下面是一个将指定路径文件夹打包成 zip 的示例代码:
```php
// 要打包的文件夹路径
$folderPath = '/path/to/folder';
// 生成的 zip 文件路径
$zipFilePath = '/path/to/zip/file.zip';
// 创建一个 ZipArchive 对象
$zip = new ZipArchive();
// 打开 zip 文件,如果文件不存在则创建文件
if ($zip->open($zipFilePath, ZipArchive::CREATE | ZipArchive::OVERWRITE) !== true) {
die('无法打开文件或文件不存在');
}
// 将文件夹中的所有文件添加到 zip 文件中
$files = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($folderPath),
RecursiveIteratorIterator::LEAVES_ONLY
);
foreach ($files as $name => $file) {
if (!$file->isDir()) {
$filePath = $file->getRealPath();
$relativePath = substr($filePath, strlen($folderPath) + 1);
$zip->addFile($filePath, $relativePath);
}
}
// 关闭 zip 文件
$zip->close();
```
这个代码片段中,首先指定了要打包的文件夹路径和生成的 zip 文件路径。然后使用 `ZipArchive` 类创建了一个 zip 文件,并将文件夹中的所有文件添加到 zip 文件中,最后关闭 zip 文件。需要注意的是,如果要打包的文件夹中包含子文件夹,则需要使用递归方式添加文件到 zip 文件中。
阅读全文