Phar::convertToData
(PHP >= 5.3.0, PECL phar >= 2.0.0)
Phar::convertToData — Convert a phar archive to a non-executable tar or zip file
Описание
PharData Phar::convertToData
([ int $format= 9021976
[, int $compression= 9021976
[, string $extension
]]] )
If no changes are specified, this method throws a BadMethodCallException
if the archive is in phar file format. For archives in tar or zip file format,
this method converts the archive to a non-executable archive.
If successful, the method creates a new archive on disk and returns a PharData
object. The old archive is not removed from disk, and should be done manually after
the process has finished.
Список параметров
-
format
-
This should be one of Phar::TAR
or Phar::ZIP. If set to NULL, the existing file format
will be preserved.
-
compression
-
This should be one of Phar::NONE for no whole-archive
compression, Phar::GZ for zlib-based compression, and
Phar::BZ2 for bzip-based compression.
-
extension
-
This parameter is used to override the default file extension for a
converted archive. Note that .phar cannot be used
anywhere in the filename for a non-executable tar or zip archive.
If converting to a tar-based phar archive, the
default extensions are .tar, .tar.gz,
and .tar.bz2 depending on specified compression.
For zip-based archives, the
default extension is .zip.
Возвращаемые значения
The method returns a PharData object on success and throws an
exception on failure.
Примеры
Пример #1 A Phar::convertToData() example
Using Phar::convertToData():
<?php
try {
$tarphar = new Phar('myphar.phar.tar');
// note that myphar.phar.tar is *not* unlinked
// convert it to the non-executable tar file format
// creates myphar.tar
$tar = $tarphar->convertToData();
// convert to non-executable zip format, creates myphar.zip
$zip = $tarphar->convertToData(Phar::ZIP);
// create myphar.tbz
$tgz = $tarphar->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
// creates myphar.phar.tgz
$phar = $tarphar->convertToData(Phar::PHAR); // throws exception
} catch (Exception $e) {
// handle the error here
}
?>