Пример #1
0
 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>";
 }