PHP tar gz: упаковка файлов в архив

В продолжение предыдущего материала рассмотрим пример создания tar-архива с применением сжатия gzip. Для этого достаточно помимо addFile() использовать метод под названием compress() класса PharData. Напомню, что версия PHP при этом должна быть >= 5.3.

<?php
$filename = 'new-archive.tar';
try {
    $tarArchive = new PharData($filename);

    $tarArchive->addFile('image2.jpeg');
    $tarArchive->addFile('image1.png');
    $tarArchive->addFile('document.html');

    $tarArchive->compress(Phar::GZ);

    print "Файлы добавлены в архив $filename.gz";
} catch (Exception $e) {
    print "Возникло исключение: " . $e;
}
?>

В показанном выше программном коде файлы image1.png, image2.png и document.html будут добавлены / запакованы / сжаты в архив new-archive.tar.gz.

Также в альтернативном варианте вы можете воспользоваться функцией gzencode():

<?php
$filename = 'new-archive.tar';
try {
    $tarArchive = new PharData($filename);

    $tarArchive->addFile('image2.jpeg');
    $tarArchive->addFile('image1.png');
    $tarArchive->addFile('document.html');

} catch (Exception $e) {
    print "Возникло исключение: " . $e;
}

file_put_contents($filename . '.gz' , gzencode(file_get_contents($filename)));
?>

Однако в этом случае помимо *.tar.gz будет сгенерирован и *.tar файл.

Опубликовано 2-09-2013 в 11:27
PHP


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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Свежие комментарии

  • Иван: к записи Привет всем, доброго времени суток! Я излазил весь »
  • Александер: к записи Потом пригляделся, вроде Вы не это имели в виду и »
  • Александер: к записи У Вас не русифицируется, потому что не везде включ »
  • Администратор: к записи Это надо использовать функции вашей CMS. »
  • Alex: к записи Ребят, а подскажите пожалуйста, как реализовать с »
  • Владимир: к записи А как теперь будет выглядеть ссылка для перехода н »
  • Администратор: к записи Не знаю. »

Статистика спама

Последние твиты