php 打包文件 zip

本文介绍了一种使用PHP的ZIP扩展进行文件打包的方法,通过实例代码展示了如何创建ZIP压缩包并利用时间戳和MD5生成唯一文件名。此外,文章还提供了一个用于递归获取目录下所有文件的函数。

程序使用了php的zip扩展,如果服务器支持,那就可以用了^_^,生成的zip压缩包可以用winrar等来解压的,当然也可以用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; 

?> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值