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", ".");

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值