Конвертирует phar-архив в неисполняемый tar- или zip-файл

# Phar::convertToData

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

Phar::convertToData — Конвертирует phar-архив в неисполняемый tar- или zip-файл

### Описание

public function Phar::convertToData(?int `$format` = `null`, ?int `$compression` = `null`, ?string `$extension` = `null`): ?PharData

Этот метод используется для конвертирования phar-архив в tar- или zip-файл. Чтобы создать сделать tar или zip неисполняемым, из создаваемого в результате конвертации архива удаляются загрузка и псевдоним phar-архива.

Если не были указаны никакие изменения, то данный метод выбросит исключение BadMethodCallException, если форматом файла архива является phar. В случае использования с архивами в формате tar или zip, данный метод конвертирует архив в неисполняемый архив.

В случае успешного выполнения данный метод создаёт на диске новый архив и возвращает объект PharData. Старый архив не удаляется с диска, это должно быть сделано вручную после завершения процесса.

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

`format`

  Значением этого параметра должна быть одна из констант: `Phar::TAR` или `Phar::ZIP`. Если значение установлено в `null`, то существующий формат файла будет сохранён.

`compression`

  Значением этого параметра должна быть одна из констант: `Phar::NONE` для отсутствия сжатия всего архива, `Phar::GZ` для сжатия, основанного на zlib, или `Phar::BZ2` для bzip-сжатия.

`extension`

  Этот параметр используется для переопределения расширение файла по умолчанию для сконвертированного архива. Обратите внимание, что `.phar` не может быть использовано где-либо в имени файла неисполняемого tar- или zip-архива.

  В случае конвертации phar-архива, основанного на tar, расширениями по умолчанию являются: `.tar`, `.tar.gz` и `.tar.bz2`, в зависимости от указанного сжатия. Для архивов, основанных на zip, расширением по умолчанию является `.zip`.

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

Данный метод возвращает объект PharData в случае успешного выполнения и `null` в случае возникновения ошибки.

### Ошибки

Данный метод выбрасывает исключение BadMethodCallException в следующих случаях: при невозможности сжатия; если был передан неизвестный алгоритм сжатия; в запрошенном архиве была включена буферизация с помощью Phar::startBuffering() и не была завершена с помощью Phar::stopBuffering(). В случае возникновения каких-либо проблем в процессе создания phar будет выброшено исключение PharException.

### Список изменений

Версия | Описание
--- | ---
8.0.0 | `format`, `compression` и `extension` теперь допускают значение null.

### Примеры

Пример #1 Пример использования Phar::convertToData()

Использование Phar::convertToData():

    <?php
    try {
        $tarphar = new Phar('myphar.phar.tar');
        // обратите внимание, что myphar.phar.tar *не* будет удалён
        // конверировать архив в неисполняемый tar-формат
        // будет создан myphar.tar
        $tar = $tarphar->convertToData();
        //  конверировать архив в неисполняемый zip-формат файла, будет создан myphar.zip
        $zip = $tarphar->convertToData(Phar::ZIP);
        // будет создан myphar.tbz
        $tgz = $tarphar->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
        // будет создан myphar.phar.tgz
        $phar = $tarphar->convertToData(Phar::PHAR); // будет выброшено исключение
    } catch (Exception $e) {
        // обработка ошибок
    }
    ?>

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

- Phar::convertToExecutable() - Конвертирует phar-архив в другой исполняемый формат файла
- PharData::convertToExecutable() - Конвертация tar/zip-архива с данными в запускаемый phar-архив
- PharData::convertToData() - Конвертация phar-архива в незапускаемый tar/zip-архив

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