Phar::convertToData
(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)
Phar::convertToData — Конвертирует phar-архив в неисполняемый tar- или zip-файл
Описание
$format
= 9021976
, int $compression
= 9021976
, string $extension
= ?
) : 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 в случае успеха и выбрасывает исключение в случае неудачи.
Ошибки
Данный метод выбрасывает исключение BadMethodCallException в следующих случаях: при невозможности сжатия; если был передан неизвестный алгоритм сжатия; в запрошенном архиве была включена буферизация с помощью Phar::startBuffering() и не была завершена с помощью Phar::stopBuffering(). В случае возникновения каких-либо проблем в процессе создания phar будет выброшено исключение PharException.
Примеры
Пример #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-архив