с PHP я могу сделать ZIP с помощью следующего кода
$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';
}
?>
Реализация будет в конечном итоге зациклена. к несчастью ZipArchive
не предоставляет такую функцию, которая сделает это за вас.
Увидеть эта тема где вы можете получить готовую функцию, которая делает именно это.
Других решений пока нет …