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

Рецепт №75. Из книги «128 рецептов php»
Перейти к оглавлению

Иногда бывает необходимо программно запаковать файлы в zip архив. Для этих целей отлично подходит модуль — ZipArchive, который практически на всех серверах установлен вместе с самим php. Если же данный модуль не установлен, то следует это сделать. Для работы с модулем в php имеется класс – ZipArchive. Именно он и будет использован в рецепте, показывающем как можно запаковать все файлы и подпапки внутри выбранной папки.

Пример:

// путь к папке, файлы которой будем архивировать
$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 ('Произошла ошибка при создании архива');
}
Рассказать друзьям:


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*