У меня есть функция, которая называется zip
, которая делает молнию из папки.Работает отлично, за исключением того, что он загружает почтовый индекс после его создания.Я хочу, чтобы пользователи могли загружать и создавать резервные копии по требованию.Но они загружаются, когда они сделаны также.Это мой код PHP:
function zip($source, $destination){
if (extension_loaded('zip') === true){
if (file_exists($source) === true){
$zip = new ZipArchive();
if ($zip->open($destination, ZIPARCHIVE::CREATE) === true ){
$source = realpath($source);
if (is_dir($source) === true){
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST);
foreach ($files as $file){
$file = realpath($file);
if (is_dir($file) === true){
$zip->addEmptyDir(str_replace($source . '/', '', $file . '/'));
}
else if (is_file($file) === true){
$zip->addFromString(str_replace($source . '/', '', $file), file_get_contents($file));
}
}
}
else if (is_file($source) === true) {
$zip->addFromString(basename($source), file_get_contents($source));
}
}
return $zip->close();
}
}
return false;
}
zip("../data", "backup.zip");
Кто-нибудь знает, как решить мою проблему?Заранее спасибо!
Примечание:
Текстовая версия: здесь