作者:一个都不等 | 来源:互联网 | 2018-03-17 07:56
实现打包功能~轻松方便!压缩比虽比winrar差那么一点 但是也没啥关系 毕竟只打包做下载
省下了自己去服务器上把站点打包 如果服务器不是自己的就更麻烦了 要让别人帮忙打下包
代码如下:
//php压缩目录成zip包
//作者:小锋
$button=$_POST['button'];
if($button=="开始打包")
{
$zip = new ZipArchive();
$filename = "./".date("Y-m-d")."_".md5(time())."_jackfeng.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 . "个文件
";
$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;
}
?>
说明:点开始打包,之后,就是耐心等待打包完成了,根据网站文件多少,需要的时间可能会很长。打包完成之后,压缩包会存放在要打包的站点目录下,以打包时间+不定长随机字符串+jackfeng.zip这样命名,请登陆ftp后下载。