php一键打包压缩目录文件代码示例

<?php     
$button=$_POST['button'];     
if($button=="开始打包")     
{     
    $zip = new ZipArchive();     
    $filename = "./".date("Y-m-d")."_".md5(time())."_zy.zip";     
    if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {     
        exit("无法创建 <$filename>n");     
        }     
    $files = listdir();     
    foreach($files as $path)     
    {     
        $zip->addFile($path,str_replace("./","",str_replace("","/",$path)));    
    }    
    echo "压缩完成,共压缩了: " . $zip->numFiles . "个文件n";    
    $zip->close();    
}    
Function listdir($start_dir='.') {    
  $files = array();    
  if (is_dir($start_dir)) {    
   $fh = opendir($start_dir);    
   while (($file = readdir($fh)) !== false) {    
     if (strcmp($file, '.')==0 || strcmp($file, '..')==0) continue;    
     $filepath = $start_dir . '/' . $file;    
     if ( is_dir($filepath) )    
       $files = array_merge($files, listdir($filepath));    
     else   
       array_push($files, $filepath);    
   }    
   closedir($fh);    
  } else {    
   $files = false;    
  }    
 return $files;    
}    
?>    
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >     
<html>     
    <head>     
        <title>打包工具</title>     
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">    
    </head>    
    <body>    
        <form name="form1" method="post" action="">    
            <hr size="1">    
            
            <P> <input type="submit" name="button" value="开始打包" /></P>     
                  
        </form>     
    </body>     
</html>

 

posted @ 2023-10-18 08:43  EternalChronosTime  阅读(13)  评论(0编辑  收藏  举报