直接上代码新建文件xiaohe4966.php 然后在访问等压缩好就可以直接下载改文件了
<?php /* * @Author: he4966 */ // 定义要压缩的目录和目标zip文件名 $sourceDir = __DIR__; // 当前脚本所在的目录 $zipFileName = '1.zip'; // 创建一个新的ZipArchive对象 $zip = new ZipArchive(); // 打开zip文件,如果文件已存在则覆盖 if ($zip->open($zipFileName, ZipArchive::CREATE | ZipArchive::OVERWRITE) === TRUE) { // 递归添加目录和文件到zip addDirectoryToZip($sourceDir, $zip); // 关闭zip文件 $zip->close(); echo "目录及其子目录中的文件已成功压缩到 $zipFileName"; } else { echo "无法创建zip文件"; } // 递归函数,用于添加目录和文件到zip function addDirectoryToZip($dir, $zip, $parentDir = '') { // 打开目录 if ($handle = opendir($dir)) { while (($item = readdir($handle)) !== false) { // 跳过当前目录(.)和上级目录(..) if ($item !== "." && $item !== "..") { // 拼接完整的文件路径 $filePath = $dir . DIRECTORY_SEPARATOR . $item; // 拼接zip中的路径 $zipPath = $parentDir . DIRECTORY_SEPARATOR . $item; // 判断是文件还是目录 if (is_file($filePath)) { // 添加文件到zip $zip->addFile($filePath, $zipPath); } elseif (is_dir($filePath)) { // 添加目录到zip(创建一个空目录) $zip->addEmptyDir($zipPath); // 递归添加子目录中的文件和目录 addDirectoryToZip($filePath, $zip, $zipPath); } } } closedir($handle); } } ?>