function
zip_file(string
$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(
$filename
);
return
true;
}
else
{
return
false;
}
}
else
{
return
false;
}
}
function
zip_files(string
$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(string
$zipName
,string
$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;
}
}