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