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


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

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

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











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

  • krasnov8953: к записи Не работает как мне кажется строчка $newTvId = $ »
  • Dimanski: к записи ничего не понимаю. Ставлю ModX на хостинг r01.ru »
  • Дмитрий: к записи Спасибо! Очень выручили. С битриксом беда, а прав »
  • леонид: к записи как сделать что были в ряд? у меня получается по о »
  • Администратор: к записи Статический IP. »
  • Steel: к записи Администратор, вы данную проблему решили подключен »
  • Дмитрий: к записи Хотел узнать как прикрутить данное окно (http://re »

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