php 在线打包_支持子目录
发布时间:2020-05-11 10:17:47 所属栏目:PHP教程 来源:互联网
导读:用php实现的在线打包的工具,并可以支持子目录使用纯php对目录和文件进行打包压缩,压缩当然不能跟winrar比(压缩比差不多相当于winrar压缩时的最快模式)。
程序使用了php的zip扩展,如果服务器支持,那就可以用了^_^,生成的zip压缩包可以用winrar等来解压的,当然也可以用php来解压。解压的过段时间再发布了。 <?php $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("","http://www.jb51.net/",$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 . 'http://www.jb51.net/' . $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"> <h3><a href="?">在线打包工具</a></h3> <P> <input type="submit" name="button" value="开始打包" /></P> <P>说明:点开始打包,之后,就是耐心等待打包完成了,根据网站文件多少,需要的时间可能会很长。打包完成之后,压缩包会存放在要打包的站点目录下,以<span style='color:red;'>打包时间+不定长随机字符串+jackfeng.zip</span>这样命名,请登陆ftp后下载。</P> </form> </body> </html> (编辑:焦作站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |