用php压缩指定文件夹下的所有文件

<?php
// 定义要压缩的文件夹路径
$folder_path = '/指定的file/';

// 创建 ZipArchive 实例
$zip = new ZipArchive();

// 打开名为 r.zip 的压缩文件并以写入模式打开
if ($zip->open('r.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE) !== TRUE) {
    die('无法创建压缩文件');
}

// 遍历指定文件夹下的所有文件,并将其添加到压缩文件中
$files = new RecursiveIteratorIterator(
    new RecursiveDirectoryIterator($folder_path),
    RecursiveIteratorIterator::LEAVES_ONLY
);

foreach ($files as $file) {
    if (!$file->isDir()) {
        $filePath = $file->getRealPath();
        $relativePath = substr($filePath, strlen($folder_path) + 1);
        $zip->addFile($filePath, $relativePath);
    }
}

// 关闭压缩文件
$zip->close();

?>