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