php 将文件压缩为zip文件

 
 
PHP ZipArchive PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启

<?php

/*  说明: 将多个文件压缩成一个zip文件的函数 
*   @param   $files  数组类型 
*   @param   destination  目标文件的路径 
*   @param   $overwrite   是否为覆盖与目标文件相同的文件 
*/

function create_zip($files = array(),$destination = '',$overwrite = false){  
//如果zip文件已经存在并且设置为不重写返回false  
if(file_exists($destination) && !$overwrite) { return false; }  
$valid_files = array();  
//获取到真实有效的文件名  
if(is_array($files)) {  
foreach($files as $file) {  
if(file_exists($file)) {  
$valid_files[] = $file;  
}  
}  
}  
//如果存在真实有效的文件  
if(count($valid_files)) {  
$zip = new ZipArchive();  
//打开文件 如果文件已经存在则覆盖,如果没有则创建  
if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {  return false;  }  
//向压缩文件中添加文件  
foreach($valid_files as $file) {  
$zip->addFile($file,$file);  
}  
//关闭文件  
$zip->close();  
//检测文件是否存在  
return file_exists($destination);  
}else{
return false;  
}  
}  


$files = array('tg.php');

create_zip($files,'tg.zip', true);

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值