Створення ZIP-архіву каталогу на PHP
У мене є сайт з доступом лише по FTP. Робити резервні копії шляхом копіювання всіх файлів, навіть пакетним копіюванням, досить довго. Допоможіть, будь ласка, створити ZIP архів для швидкого завантаження резервної копії одним файлом.
В результаті виконання цього скрипта з'явиться ZIP-архів, у корені якого буде міститися файл 'index.php'. Я думаю, що це все очевидно та логічно. А тепер коментую, що ми з Вами робили:
1. Створили об'єкт ZipArchive за допомогою конструктора.
2. Створили архів за допомогою методу Open об'єкту ZipArchive. Ми передали назву архіву archive.zip та константу ZIPARCHIVE::CREATE, яка повідомляє, якщо архів не існує, то його треба створити.
3. Метод AddFile додає до архіву файл 'index.php', який знаходиться в одній директорії зі скриптом.
4. Метод Close завершує роботу з архівом. Завжди виконуйте його, щоб звільнити ресурси комп'ютера, а також уникнути проблем, пов'язаних із роботою цього скрипту та інших скриптів, яким необхідний доступ до цього архіву.
Ось таким простим способом можна створювати в автоматичному режимі ZIP-архіви за допомогою PHP.
Якщо ви хочете завантажити весь вміст каталогу, вам необхідно створити архів файлів із збереженням структури, а потім завантажити його з сервера. Ось код:
Також необхідно написати про розархівування ZIP-архів через PHP.
Порядок створення архіву був простим: відкрити, додати файли до архіву, закрити. Для отримання ZIP-архіву порядок дуже схожий: відкрити, витягнути, закрити. Фактично, змінюється лише центральна частина. Давайте розберемо простий приклад:
Таким чином, всі файли та папки, які знаходяться в ZIP-архіві, будуть завантажені в зазначену директорію.