Zacker2
Гуру форума
- Регистрация
- 19 Фев 2013
- Сообщения
- 242
- Реакции
- 75
- Автор темы
- #1
Предлагаю открыть старую проблему, в сети так и не нашел однозначный ответ.
Как архивировать папку на сервере средствами php, если на сервере нет cpanel и.т.п., и нет ssh доступа.
Погуглив нашел только один рабочий вариант, он архивирует только файлы в указанной папке,
а папки не архивирует.
Также в созданном архиве имеется непонятный объект, который вызывает ошибку при извлечении...
Задача, заставить скрипт архивировать все содиржимое указанной папки.
Убрать непонятный объект который в результате, скрин ниже...
Как архивировать папку на сервере средствами php, если на сервере нет cpanel и.т.п., и нет ssh доступа.
Погуглив нашел только один рабочий вариант, он архивирует только файлы в указанной папке,
а папки не архивирует.
Также в созданном архиве имеется непонятный объект, который вызывает ошибку при извлечении...
Код:
<?php
//папка в которой будет размещен архив
$archive_dir = "/data/host/site/gotovo/";
//папка с исходными файлами
$src_dir = "/data/host/site/";
//создание zip архива
$zip = new ZipArchive();
//имя файла архива
$fileName = $archive_dir."backup_".date('j_m_Y_h_i_s').".zip";
if ($zip->open($fileName, ZIPARCHIVE::CREATE) !== true) {
fwrite(STDERR, "Error while creating archive file");
exit(1);
}
//добавляем файлы в архив все файлы из папки src_dir
$dirHandle = opendir($src_dir);
while (false !== ($file = readdir($dirHandle))) {
$zip->addFile($src_dir.$file, $file);
}
//закрываем архив
$zip->close();
fwrite(STDOUT, "Archive created\n");
exit(0);
?>
Убрать непонятный объект который в результате, скрин ниже...