php8.5
Home/ Manual/ reference / phar/ The Phar class

The Phar class

The Phar class provides a high-level interface to accessing and creating phar archives.

Intro

The Phar class provides a high-level interface to accessing and creating phar archives.

Class synopsis

class Phar extends RecursiveDirectoryIterator implements Countable implements ArrayAccess { }

Changelog

VersionDescription
8.4.0Added support for the Unix timestamp extension for Zip-based archives.
8.0.0Meta-data is no longer deserialized upon opening the archive, but is deferred until Phar::getMetadata is called.

Notes

Caution

Prior to PHP 8.0.0, the meta-data was deserialized upon opening the archive. This could lead to security vulnerabilities. Starting with PHP 8.0.0, meta-data is only deserialized when calling Phar::getMetadata, which has options to restrict deserialization for security reasons.

Phar

In this section

Phar::__construct

Construct a Phar archive object

Phar::__destruct

Destructs a Phar archive object

Phar::addEmptyDir

Add an empty directory to the phar archive

Phar::addFile

Add a file from the filesystem to the phar archive

Phar::addFromString

Add a file from a string to the phar archive

Phar::apiVersion

Returns the api version

Phar::buildFromDirectory

Construct a phar archive from the files within a directory

Phar::buildFromIterator

Construct a phar archive from an iterator

Phar::canCompress

Returns whether phar extension supports compression using either zlib or bzip2

Phar::canWrite

Returns whether phar extension supports writing and creating phars

Phar::compress

Compresses the entire Phar archive using Gzip or Bzip2 compression

Phar::compressFiles

Compresses all files in the current Phar archive

Phar::convertToData

Convert a phar archive to a non-executable tar or zip file

Phar::convertToExecutable

Convert a phar archive to another executable phar archive file format

Phar::copy

Copy a file internal to the phar archive to another new file within the phar

Phar::count

Returns the number of entries (files) in the Phar archive

Phar::createDefaultStub

Create a phar-file format specific stub

Phar::decompress

Decompresses the entire Phar archive

Phar::decompressFiles

Decompresses all files in the current Phar archive

Phar::delMetadata

Deletes the global metadata of the phar

Phar::delete

Delete a file within a phar archive

Phar::extractTo

Extract the contents of a phar archive to a directory

Phar::getAlias

Get the alias for Phar

Phar::getMetadata

Returns phar archive meta-data

Phar::getModified

Return whether phar was modified

Phar::getPath

Get the real path to the Phar archive on disk

Phar::getSignature

Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive

Phar::getStub

Return the PHP loader or bootstrap stub of a Phar archive

Phar::getSupportedCompression

Return array of supported compression algorithms

Phar::getSupportedSignatures

Return array of supported signature types

Phar::getVersion

Return version info of Phar archive

Phar::hasMetadata

Returns whether phar has global meta-data

Phar::interceptFileFuncs

Instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related...

Phar::isBuffering

Used to determine whether Phar write operations are being buffered, or are flushing direct...

Phar::isCompressed

Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and...

Phar::isFileFormat

Returns true if the phar archive is based on the tar/phar/zip file format depending on the...

Phar::isValidPharFilename

Returns whether the given filename is a valid phar filename

Phar::isWritable

Returns true if the phar archive can be modified

Phar::loadPhar

Loads any phar archive with an alias

Phar::mapPhar

Reads the currently executed file (a phar) and registers its manifest

Phar::mount

Mount an external path or file to a virtual location within the phar archive

Phar::mungServer

Defines a list of up to 4 $_SERVER variables that should be modified for execution

Phar::offsetExists

Determines whether a file exists in the phar

Phar::offsetGet

Gets a PharFileInfo object for a specific file

Phar::offsetSet

Set the contents of an internal file to those of an external file

Phar::offsetUnset

Remove a file from a phar

Phar::running

Returns the full path on disk or full phar URL to the currently executing Phar archive

Phar::setAlias

Set the alias for the Phar archive

Phar::setDefaultStub

Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader

Phar::setMetadata

Sets phar archive meta-data

Phar::setSignatureAlgorithm

Set the signature algorithm for a phar and apply it

Phar::setStub

Used to set the PHP loader or bootstrap stub of a Phar archive

Phar::startBuffering

Start buffering Phar write operations, do not modify the Phar object on disk

Phar::stopBuffering

Stop buffering write requests to the Phar archive, and save changes to disk

Phar::unlinkArchive

Completely remove a phar archive from disk and from memory

Phar::webPhar

Routes a request from a web browser to an internal file within the phar archive

Source: reference/phar/Phar.xml · from the official PHP manual (php/doc-en)