Создание архива через админку

Опубликовано: 26 Сен 2014

Подсмотренно здесь.

Иногда требуется перенести сайт на другой хостинг при условии что в наличии есть только ftp доступ, а если еще у нас слабый интернет то это может затянуться на пару часов, а то и больше времени. В  таком случае полезно использовать данный скрипт.

<?php
$startDir = isset($startDir) ? $startDir : MODX_BASE_PATH;
// increase script timeout value
ini_set("max_execution_time", 300);
// create object
$zip = new ZipArchive();
// open archive
if ($zip->open("my-archive.zip", ZIPARCHIVE::CREATE) !== TRUE) {
die ("Could not open archive");
}
// initialize an iterator
// pass it the directory to be processed
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($startDir));
// iterate over the directory
// add each file found to the archive
foreach ($iterator as $key=>$value) {
$zip->addFile(realpath($key), $key) or die ("ERROR: Could not add file: $key");
}
// close and save archive
$zip->close();
echo "Archive created successfully.";
?>

Как пользоваться:
— создаем снипет zip-folder
вставляем в него код указанный выше
— создаем документ с шаблоном бланк
— вставляем в него [!zip-folder!]
— заходим на эту страничку и ждем

После фразы Архив успешно создан удаляем ненужную теперь страничку и скачиваем архив по адресу site/my-archive.zip или заходим в управление файлами и скачиваем оттуда

Если не ошибаюсь то данный скрипт будет работать и в REVO.

Комментарии (0)


Оставить комментарий




Разрешённые теги: <b><i><br>Добавить новый комментарий: