The PharData class

Introduction

The PharData class provides a high-level interface to accessing and creating non-executable tar and zip archives. Because these archives do not contain a stub and cannot be executed by the phar extension, it is possible to create and manipulate regular zip and tar files using the PharData class even if phar.readonly php.ini setting is 1.

Class synopsis

PharData
extends RecursiveDirectoryIterator
implements Countable ArrayAccess
/* Inherited constants */
public const int FilesystemIterator::CURRENT_MODE_MASK;
public const int FilesystemIterator::CURRENT_AS_PATHNAME;
public const int FilesystemIterator::CURRENT_AS_FILEINFO;
public const int FilesystemIterator::CURRENT_AS_SELF;
public const int FilesystemIterator::KEY_MODE_MASK;
public const int FilesystemIterator::KEY_AS_PATHNAME;
public const int FilesystemIterator::FOLLOW_SYMLINKS;
public const int FilesystemIterator::KEY_AS_FILENAME;
public const int FilesystemIterator::NEW_CURRENT_AND_KEY;
public const int FilesystemIterator::OTHER_MODE_MASK;
public const int FilesystemIterator::SKIP_DOTS;
public const int FilesystemIterator::UNIX_PATHS;
/* Methods */
public PharData::__construct(
    string $filename,
    int $flags = FilesystemIterator::SKIP_DOTS | FilesystemIterator::UNIX_PATHS,
    stringnull $alias = null,
    int $format = 0
)
public void PharData::addEmptyDir(string $directory)
public void PharData::addFile(string $filename, stringnull $localName = null)
public void PharData::addFromString(string $localName, string $contents)
public array PharData::buildFromDirectory(string $directory, string $pattern = "")
public array PharData::buildFromIterator(Traversable $iterator, stringnull $baseDirectory = null)
public PharDatanull PharData::compress(int $compression, stringnull $extension = null)
public void PharData::compressFiles(int $compression)
public PharDatanull PharData::convertToData(intnull $format = null, intnull $compression = null, stringnull $extension = null)
public Pharnull PharData::convertToExecutable(intnull $format = null, intnull $compression = null, stringnull $extension = null)
public bool PharData::copy(string $from, string $to)
public PharDatanull PharData::decompress(stringnull $extension = null)
public bool PharData::decompressFiles()
public bool PharData::delMetadata()
public bool PharData::delete(string $localName)
public bool PharData::extractTo(string $directory, arraystringnull $files = null, bool $overwrite = false)
public bool PharData::isWritable()
public void PharData::offsetSet(string $localName, resourcestring $value)
public void PharData::offsetUnset(string $localName)
public bool PharData::setAlias(string $alias)
public bool PharData::setDefaultStub(stringnull $index = null, stringnull $webIndex = null)
public void PharData::setMetadata(mixed $metadata)
public void PharData::setSignatureAlgorithm(int $algo, stringnull $privateKey = null)
public bool PharData::setStub(string $stub, int $len = -1)
public PharData::__destruct()
/* Inherited methods */
public RecursiveDirectoryIterator getChildren()
public string getSubPath()
public string getSubPathname()
public bool hasChildren(bool $allowLinks = false)
public string key()
public void next()
public void rewind()
public stringSplFileInfoFilesystemIterator FilesystemIterator::current()
public int FilesystemIterator::getFlags()
public string FilesystemIterator::key()
public void FilesystemIterator::next()
public void FilesystemIterator::rewind()
public void FilesystemIterator::setFlags(int $flags)
public mixed DirectoryIterator::current()
public string DirectoryIterator::getBasename(string $suffix = "")
public string DirectoryIterator::getExtension()
public string DirectoryIterator::getFilename()
public bool DirectoryIterator::isDot()
public mixed DirectoryIterator::key()
public void DirectoryIterator::next()
public void DirectoryIterator::rewind()
public void DirectoryIterator::seek(int $offset)
public string DirectoryIterator::__toString()
public bool DirectoryIterator::valid()
public intfalse SplFileInfo::getATime()
public string SplFileInfo::getBasename(string $suffix = "")
public intfalse SplFileInfo::getCTime()
public string SplFileInfo::getExtension()
public SplFileInfo SplFileInfo::getFileInfo(stringnull $class = null)
public string SplFileInfo::getFilename()
public intfalse SplFileInfo::getGroup()
public intfalse SplFileInfo::getInode()
public stringfalse SplFileInfo::getLinkTarget()
public intfalse SplFileInfo::getMTime()
public intfalse SplFileInfo::getOwner()
public string SplFileInfo::getPath()
public SplFileInfonull SplFileInfo::getPathInfo(stringnull $class = null)
public string SplFileInfo::getPathname()
public intfalse SplFileInfo::getPerms()
public stringfalse SplFileInfo::getRealPath()
public intfalse SplFileInfo::getSize()
public stringfalse SplFileInfo::getType()
public bool SplFileInfo::isDir()
public bool SplFileInfo::isExecutable()
public bool SplFileInfo::isFile()
public bool SplFileInfo::isLink()
public bool SplFileInfo::isReadable()
public bool SplFileInfo::isWritable()
public SplFileObject SplFileInfo::openFile(string $mode = "r", bool $useIncludePath = false, resourcenull $context = null)
public void SplFileInfo::setFileClass(string $class = SplFileObject::class)
public void SplFileInfo::setInfoClass(string $class = SplFileInfo::class)
public string SplFileInfo::__toString()
Table of Contents