PharData::convertToData
(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)
PharData::convertToData — Конвертация phar-архива в незапускаемый tar/zip-архив
Описание
$format
= ?
, int $compression
= ?
, string $extension
= ?
) : PharDataЭтот метод используется для преобразования незапускаемого tar/zip-прхива в другой незапускаемый формат.
Если не указано никаких изменений, то будет выброшено исключение BadMethodCallException. Этот метод можно использовать для преобразования tar-архива в zip-архив и наоборот. Несмотря на то что, что можно изменить сжатие для tar-архива с помощью этого метода, для этих целей лучше использовать метод PharData::compress().
В случае успеха будет создан новый архив на диске и возвращен объект PharData. Старый архив удаляться не будет.
Список параметров
-
format
-
Одна из констант:
Phar::TAR
илиPhar::ZIP
. Если задать какnull
, то будет использован текущий формат. -
compression
-
Одна из констант:
Phar::NONE
(для отключения сжатия всего архива),Phar::GZ
(для zlib-сжатия),Phar::BZ2
(для bzip-сжатия). -
extension
-
Этот параметр используется для явного указания расширения нового архива. Обратите внимание, что для незапускаемых архивов ни в коем случае нельзя допускать пояаление подстроки
.phar
в любом месте имени файла.По умолчанию для tar-архивов используются расширения:
.tar
,.tar.gz
и.tar.bz2
. Для zip-архивов:.zip
.
Возвращаемые значения
Метод возвращает объект PharData, либо выбрасывает исключение.
Ошибки
Метод выбрасывает исключениеBadMethodCallException когда не может произвести сжатие, когда задан неизвестный метод сжатия, для архива включена буферизация с помощью Phar::startBuffering(), и не отклбчена при помощи Phar::stopBuffering(). Исключение PharException выбрасывается при любых проблемах создания phar-архива.
Примеры
Пример #1 Пример использования PharData::convertToData()
Использование PharData::convertToData():
<?php
try {
$tarphar = new PharData('myphar.tar');
// обратите внимание, что myphar.tar *не* удаляется
// создаем myphar.zip
$zip = $tarphar->convertToData(Phar::ZIP);
// создаем myphar.tbz
$tgz = $zip->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
// создаем myphar.phar.tgz
$phar = $tarphar->convertToData(Phar::PHAR); // выбрасывает исключение
} catch (Exception $e) {
// обработка ошибок
}
?>
Смотрите также
- Phar::convertToExecutable() - Конвертирует phar-архив в другой исполняемый формат файла
- Phar::convertToData() - Конвертирует phar-архив в неисполняемый tar- или zip-файл
- PharData::convertToExecutable() - Конвертация tar/zip-архива с данными в запускаемый phar-архив