PHP---压缩文件夹
简单粗暴,直接上代码:
<?php /** * 压缩文件夹为 ZIP 文件 * @param string $source 文件夹路径 * @param string $destination ZIP 文件路径 * @return bool 成功返回 true,失败返回 false */ function zipFolder($source, $destination) { if (!extension_loaded('zip') || !file_exists($source)) { return false; } $zip = new ZipArchive(); if (!$zip->open($destination, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE)) { return false; } $source = realpath($source); if (is_dir($source)) { $files = new RecursiveIteratorIterator( new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::LEAVES_ONLY ); foreach ($files as $name => $file) { // 跳过目录和 . & .. if (!$file->isDir()) { // 获取文件的相对路径 $filePath = $file->getRealPath(); $relativePath = substr($filePath, strlen($source) + 1); // 添加文件到 ZIP $zip->addFile($filePath, $relativePath); } } } elseif (is_file($source)) { $zip->addFile($source, basename($source)); } return $zip->close(); } // 压缩文件夹 $sourceFolder = '../static'; $zipFile = 'file-box-11.zip'; if (zipFolder($sourceFolder, $zipFile)) { echo "文件夹已成功压缩为 {$zipFile}"; } else { echo "压缩失败"; }
打完收工!

浙公网安备 33010602011771号