PHP

Работа с ZIP архивами. Запаковать и распаковать файлы

Сегодня столкнулся с небольшой проблемой: нужно было быстро перенести файлы с одно сервера на другой. По сути это не проблема, но у меня медленный интернет, а файлов было много — по примерным подсчетам фалы переносились бы 2-3 часа. И поэтому я решил на первом сервере запаковать файлы в архив, перекинуть его и распаковать на другом сервере. Раньше с архивами на unix сервере я работал через SSH доступ в консоли, но и тут мне опять не повезло — такого доступа у меня нет, только ftp. И в связи со всеми этими проблемами пришлось писать два скрипта: один запаковывает файлы, а другой распаковывает.
Возможно эти два скрипта пригодятся еще кому-нибудь:

Запаковываем файлы в zip архив
<?php
$pathdir='test/'; // путь к папке, файлы которой будем архивировать
$nameArhive = 'test.zip'; //название архива
$zip = new ZipArchive; // класс для работы с архивами
if ($zip -> open($nameArhive, ZipArchive::CREATE) === TRUE){ // создаем архив, если все прошло удачно продолжаем
    $dir = opendir($pathdir); // открываем папку с файлами
    while( $file = readdir($dir)){ // перебираем все файлы из нашей папки
            if (is_file($pathdir.$file)){ // проверяем файл ли мы взяли из папки
                $zip -> addFile($pathdir.$file, $file); // и архивируем
                echo("Заархивирован: " . $pathdir.$file) , '<br/>'; 
            }
    }
    $zip -> close(); // закрываем архив.
    echo 'Архив успешно создан';
}else{
    die ('Произожла ошибка при создании архива');
}
?>

Распаковываем zip архив
<?php
$pathdir='test/'; // путь к папке, в которую будет распакован архив
$nameArhive = 'test.zip'; //название архива
$zip = new ZipArchive; // класс для работы с архивами
if ($zip -> open($nameArhive) === TRUE){ // открываем архив
    $zip -> extractTo($pathdir); // распаковываем архив
    $zip -> close(); // закрываем архив.
    echo 'Архив распакован в ' . $pathdir;
}else{
    die ('Произожла ошибка при создании архива');
}
?>
Теги:
ZIP архив
Добавлено: 09 Мая 2018 19:36:58 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...