Распаковывает все файлы в текущем zip-архиве

# PharData::decompressFiles

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::decompressFiles — Распаковывает все файлы в текущем zip-архиве

### Описание

public function PharData::decompressFiles(): true

> Замечание: Для корректной работы метода с объектами Phar потребуется установить для директивы `phar.readonly` в файле php.ini значение `0`, иначе метод выбросит исключение PharException.

При распаковке файлов в tar-архиве метод выбрасывает исключение BadMethodCallException, поскольку сжатие отдельных файлов в tar-архиве не поддерживается форматом файла. Для сжатия tar-архива пользуются методом PharData::compress().

В zip-архиве метод распаковывает все файлы. Для сжатия файлов методом bzip2 или zlib потребуется включить модуль, который соответствует формату сжатия, — bzip2 или zlib.

### Список параметров

Сигнатура функции не содержит параметров.

### Возвращаемые значения

Функция возвращает логическое значение `true`.

### Ошибки

Метод выбрасывает исключение BadMethodCallException, если модуль zlib недоступен, или если хотя бы один файл сжат методом bzip2, а модуль bzip2 не включили.

### Примеры

Пример #1 Пример распаковки всех файло в zip-архиве методом PharData::decompressFiles()

    <?php

    $p = new PharData('/path/to/my.zip');

    $p['myfile.txt'] = 'hi';
    $p['myfile2.txt'] = 'hi';

    $p->compressFiles(Phar::GZ);
    foreach ($p as $file) {
        var_dump($file->getFileName());
        var_dump($file->isCompressed());
        var_dump($file->isCompressed(Phar::BZ2));
        var_dump($file->isCompressed(Phar::GZ));
    }

    $p->decompressFiles();
    foreach ($p as $file) {
        var_dump($file->getFileName());
        var_dump($file->isCompressed());
        var_dump($file->isCompressed(Phar::BZ2));
        var_dump($file->isCompressed(Phar::GZ));
    }

    ?>

Результат выполнения приведённого примера:

    string(10) "myfile.txt"
    int(4096)
    bool(false)
    bool(true)
    string(11) "myfile2.txt"
    int(4096)
    bool(false)
    bool(true)
    string(10) "myfile.txt"
    bool(false)
    bool(false)
    bool(false)
    string(11) "myfile2.txt"
    bool(false)
    bool(false)
    bool(false)

### Смотрите также

- PharFileInfo::getCompressedSize() - Получить реальный занимаемый файлом размер на диске с учётом сжатия
- PharFileInfo::isCompressed() - Проверить, сжат ли файл
- PharFileInfo::compress() - Сжимает текущий файл методом zlib или bzip2
- PharFileInfo::decompress() - Распаковывает Phar-файл в phar-архиве
- Phar::canCompress() - Проверяет, поддерживает ли модуль phar сжатие с использованием zlib или bzip2
- Phar::isCompressed() - Возвращает Phar::GZ или PHAR::BZ2, если phar-архив сжат целиком (.tar.gz/tar.bz и так далее)
- PharData::compressFiles() - Сжать все файлы в текущем tar/zip-архиве
- Phar::getSupportedCompression() - Возвращает массив поддерживаемых алгоритмов сжатия
- PharData::compress() - Сжимает весь архив tar/zip, используя сжатие Gzip или Bzip2
- PharData::decompress() - Распаковать весь Phar-архив

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open