复制代码 代码如下:
/* 创建一个压缩的 zip 文件 */
function create_zip($files = array(),$destination = '',$overwrite = false) {
//如果 zip 文件已存在且覆盖为 false,则返回 false
if(file_exists($destination) && !$overwrite) { return false; }
//vars
$valid_files = array();
//如果文件传入...
if(is_array($files)) {
//循环遍历每个文件
foreach($files as $file) {
/ /确保文件存在
if(file_exists($file)) {
$valid_files[] = $file;
}
}
}
//如果我们有好的文件...
if(count($valid_files)) {
//创建存档
$zip = 新的 ZipArchive();
if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
return false;
}
//添加文件
foreach($valid_files as $file) {
$zip->addFile($file,$file);
}
//debug
//echo 'zip 存档包含 ',$zip->numFiles,' 状态为 ',$zip->status 的文件;
//关闭拉链——完成!
$zip->close();
//检查以确保文件存在
return file_exists($destination);
}
否则
{
返回 false;
}
}
/***** 用法示例 ***/
$files=array('file1.jpg', 'file2.jpg', 'file3.gif');
create_zip($files, 'myzipfile.zip', true);
PHP Zip 文件在线解压缩的函数代码