PHP内置ZipArchive添加文件至压缩包zip

PHP内置ZipArchive添加文件至压缩包,PHP5.6 使用自带ZipArchive实现文件夹以及文件的压缩
$zip = new ZipArchive();
$zipfile = '1.zip';
$addfile = 'test\\';
if (file_exists($zipfile)) {
unlink($zipfile);
}
if(!file_exists($addfile)){
echo 'no add file';
}
$zip->open($zipfile, ZipArchive::CREATE);
$allFile = getAllFile($addfile);
foreach ($allFile as $allfiles) {
$zip->addFile($allfiles);
}
$zip->close();

function getAllFile($file, $fileRes = [])
{
if (!file_exists($file)) {
return [];
}
$dir = opendir($file);
while (false !== ($path = readdir($dir))) {
if ($path != '.' && $path != '..') {
if (is_dir($file . $path)) {
$fileRes = getAllFile($file . $path . '\\', $fileRes);
} else {
$fileRes[] = $file . $path;
}
}
}
return $fileRes;

}

实现添加文件夹内套文件夹及文件