php压缩文件夹而不循环

时间:2014-10-07 06:12:12

标签: php loops zip ziparchive

使用php我可以使用以下代码进行压缩

$zip = new ZipArchive;
if ($zip->open ('test.zip', ZipArchive::CREATE)) {
    $zip->addFile('img1.jpg', 'user.jpg');
    $zip->addFile('logo.jpg', 'file.jpg');
    $zip->addFile('avatar.jpg', 'av.jpg');
    //or we can even loop a directory
   foreach(glob($dir . '/*') as $file)
    {
       //add each file from the directory
    }
    //end loop

    $zip->close();
    echo 'Zipped !';
} else {
    echo 'failed';
}

>

我的问题是我们可以在不循环的情况下压缩整个文件夹吗

  $zip = new ZipArchive;
    if ($zip->open ('test.zip', ZipArchive::CREATE)) {
     $zip->addFolder('bla bla'); //like this,so that the entire files in it will be added
         $zip->close();
        echo 'Zipped !';
    } else {
        echo 'failed';
    }
?>

1 个答案:

答案 0 :(得分:1)

实施必须最终循环。不幸的是ZipArchive没有公开这样一个能为你做这件事的功能。

请参阅this thread,在那里您可以获得一个现成的功能。