php ziparchive 压缩文件,PHP ZipArchive 压缩文件 解压缩

// 压缩单个文件

function zip_file($filename) {

if(!is_file($filename)) {

return false;

}

$zip = new ZipArchive();

$zipName = basename($filename).'.zip';

// 打开指定压缩包,不存在则创建,存在则覆盖

if($zip->open($zipName, ZipArchive::CREATE|ZipArchive::OVERWRITE)) {

// 将文件添加到压缩包中

if($zip->addFile($filename)) {

$zip->close();

// unlink 删除文件

//@unlink($filename);

return true;

} else {

return false;

}

} else {

return false;

}

}

// 压缩多个文件

function zip_files($zipName, &$files) {

// 检测压缩包名称是否正确

$zipExt = strtolower(pathinfo($zipName, PATHINFO_EXTENSION));

if('zip' !== $zipExt) {

return false;

}

$zip = new ZipArchive();

if ($zip->open($zipName, ZipArchive::CREATE|ZipArchive::OVERWRITE)) {

foreach ($files as $file) {

if(is_file($file)) {

$zip->addFile($file);

}

}

$zip->close();

return true;

} else {

return false;

}

}

// 解压缩

function unzip_file($zipName, $dest) {

//检测要解压压缩包是否存在

if (!is_file($zipName)) {

return false;

}

//检测目标路径是否存在

if (!is_dir($dest)) {

mkdir($dest, 0777, true);

}

$zip = new ZipArchive();

if ($zip->open($zipName)) {

$zip->extractTo($dest);

$zip->close();

return true;

} else {

return false;

}

}

// 压缩单个文件

zip_file("1.php");

// 压缩多个文件

$files = array("1.php", "2.php");

foreach ($files as $file) {

echo $file . "
";

}

zip_files("1.zip", $files);

// 解压缩

unzip_file("2.zip", ".");

?>

  • 0
    点赞
  • 0
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值