public function zippro() { //打包项目 require_once COMMON_PATH . "tp_common.php"; //引入自定义的类 require_once COMMON_PATH . "tpmaker.class.php"; //引入自定义的类 require_once COMMON_PATH . "zip.class.php"; //引入自定义的类 $buideid = $_REQUEST['id']; $t = new tpmaker(); $t->projectid = $buideid; $zippath = $t->getapppath(); $projects = $t->getprojects(); $filename = './Backup/ZIP/' . $projects['proname'] . ".zip"; $z = new PHPZip(); $filesize = @filesize($filename); $_SESSION['zipdir'] = ''; //所有子目录 $_SESSION['zipfile'] = ''; //所有子目录 zipdir($zippath); $dirs = $_SESSION['zipdir']; //所有子目录 $files = $_SESSION['zipfile']; //所有文件 if ($dirs) { foreach ($dirs as $dir) { $z->add_dir($dir); //添加指定目录 msg($dir . "...添加目录成功!<br>"); //read_dir($dir); } } if ($files) { foreach ($files as $file) { $fp = @fopen($file, rb); $zipfilecontent = array($file, @fread($fp, $filesize)); @fclose($fp); $z->Add($zipfilecontent, 1); //可以多次执行 $zip->Add 来添加多个文件 msg($file . "...添加文件成功!<br>"); } } closedir($path); if (@fputs(@fopen($filename, "wb"), $z->get_file())) { //写入文件 msg("文件压缩成功!!"); } else { msg("文件压缩失败!!", 0); } echo "<a href='{$filename}' traget='_blank'>下载本文件:{$filename}</a>"; }