当前位置: 首页 > 图文教程 > 网络编程 > PHP > php 在线打包_支持子目录

PHP
在 php 中使用 sockets:从新闻组中获取文章
正则表达式中的特殊字符
无限分类与树型论坛的实现方法
谈谈生成静态页面的一些经验
使用php的编码功能-mime.inc
缓存PHP页面的代码,可以减轻CPU和MYSQL负担
php控制用户的浏览器
CSS反转字符加密邮箱地址
用PHP调用Lucene包来实现全文检索
phpbb mod for google 完全解决方案
如何避免表单的重复提交
用PHP处理多个同名复选框
文件下载统计php编程
利用Editplus2的用户工具功能来即时调试PHP
实例学习PHP之FastTemplate模板篇
模板--为什么和如何在PHP中使用它们
PHP中实现大图自动缩成小图(及GD库的安装)
采用 PEAR 来缓冲 PHP 程序(一)
采用 PEAR 来缓冲 PHP 程序(二)
变量的“追随”:cookie与session

PHP 中的 php 在线打包_支持子目录


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 80 ::
收藏到网摘: n/a

用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("\\","/",$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">
<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>