(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)
PharData类提供了一个高级接口,用于访问和创建不可执行的tar和zip归档文件。由于这些存档文件不包含存根,并且无法由phar扩展执行,因此即使phar.readonly php.ini设置为1,也可以使用PharData类创建和操作常规zip和tar文件。
PharData extends RecursiveDirectoryIterator { /* 继承的常量 */ const integer FilesystemIterator::CURRENT_AS_PATHNAME = 32 ; const integer FilesystemIterator::CURRENT_AS_FILEINFO = 0 ; const integer FilesystemIterator::CURRENT_AS_SELF = 16 ; const integer FilesystemIterator::CURRENT_MODE_MASK = 240 ; const integer FilesystemIterator::KEY_AS_PATHNAME = 0 ; const integer FilesystemIterator::KEY_AS_FILENAME = 256 ; const integer FilesystemIterator::FOLLOW_SYMLINKS = 512 ; const integer FilesystemIterator::KEY_MODE_MASK = 3840 ; const integer FilesystemIterator::NEW_CURRENT_AND_KEY = 256 ; const integer FilesystemIterator::SKIP_DOTS = 4096 ; const integer FilesystemIterator::UNIX_PATHS = 8192 ; /* 方法 */ addEmptyDir ( string $dirname ) : void public Phar::addFile ( string $file [, string $localname ] ) : void addFromString ( string $localname , string $contents ) : void public Phar::buildFromDirectory ( string $base_dir [, string $regex ] ) : array buildFromIterator ( Iterator $iter [, string $base_directory ] ) : array compress ( int $compression [, string $extension ] ) : object compressFiles ( int $compression ) : void __construct ( string $fname [, int $flags [, string $alias [, int $format = Phar::TAR ]]] ) convertToData ([ int $format [, int $compression [, string $extension ]]] ) : PharData convertToExecutable ([ int $format [, int $compression [, string $extension ]]] ) : Phar copy ( string $oldfile , string $newfile ) : bool decompress ([ string $extension ] ) : object decompressFiles ( void ) : bool delMetadata ( void ) : bool delete ( string $entry ) : bool extractTo ( string $pathto [, string|array $files [, bool $overwrite = FALSE ]] ) : bool isWritable ( void ) : bool offsetSet ( string $offset , string $value ) : void offsetUnset ( string $offset ) : bool setAlias ( string $alias ) : bool setDefaultStub ([ string $index [, string $webindex ]] ) : bool public Phar::setMetadata ( mixed $metadata ) : void public Phar::setSignatureAlgorithm ( int $sigtype ) : void setStub ( string $stub [, int $len = -1 ] ) : bool /* 继承的方法 */ public Phar::addEmptyDir ( string $dirname ) : void public Phar::addFile ( string $file [, string $localname ] ) : void public Phar::addFromString ( string $localname , string $contents ) : void final public static Phar::apiVersion ( void ) : string public Phar::buildFromDirectory ( string $base_dir [, string $regex ] ) : array public Phar::buildFromIterator ( Iterator $iter [, string $base_directory ] ) : array final public static Phar::canCompress ([ int $type = 0 ] ) : bool final public static Phar::canWrite ( void ) : bool public Phar::compress ( int $compression [, string $extension ] ) : object public Phar::compressAllFilesBZIP2 ( void ) : bool public Phar::compressAllFilesGZ ( void ) : bool public Phar::compressFiles ( int $compression ) : void public Phar::__construct ( string $fname [, int $flags [, string $alias ]] ) public Phar::convertToData ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] ) : PharData public Phar::convertToExecutable ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] ) : Phar public Phar::copy ( string $oldfile , string $newfile ) : bool public Phar::count ( void ) : int final public static Phar::createDefaultStub ([ string $indexfile [, string $webindexfile ]] ) : string public Phar::decompress ([ string $extension ] ) : object public Phar::decompressFiles ( void ) : bool public Phar::delMetadata ( void ) : bool public Phar::delete ( string $entry ) : bool public Phar::extractTo ( string $pathto [, string|array $files [, bool $overwrite = FALSE ]] ) : bool public Phar::getAlias ( void ) : string public Phar::getMetadata ( void ) : mixed public Phar::getModified ( void ) : bool public Phar::getPath ( void ) : string public Phar::getSignature ( void ) : array public Phar::getStub ( void ) : string final public static Phar::getSupportedCompression ( void ) : array final public static Phar::getSupportedSignatures ( void ) : array public Phar::getVersion ( void ) : string public Phar::hasMetadata ( void ) : bool final public static Phar::interceptFileFuncs ( void ) : void public Phar::isBuffering ( void ) : bool public Phar::isCompressed ( void ) : mixed public Phar::isFileFormat ( int $format ) : bool final public static Phar::isValidPharFilename ( string $filename [, bool $executable = TRUE ] ) : bool public Phar::isWritable ( void ) : bool final public static Phar::loadPhar ( string $filename [, string $alias ] ) : bool final public static Phar::mapPhar ([ string $alias [, int $dataoffset = 0 ]] ) : bool final public static Phar::mount ( string $pharpath , string $externalpath ) : void final public static Phar::mungServer ( array $munglist ) : void public Phar::offsetExists ( string $offset ) : bool public Phar::offsetGet ( string $offset ) : int public Phar::offsetSet ( string $offset , string $value ) : void public Phar::offsetUnset ( string $offset ) : bool final public static Phar::running ([ bool $retphar = TRUE ] ) : string public Phar::setAlias ( string $alias ) : bool public Phar::setDefaultStub ([ string $index [, string $webindex ]] ) : bool public Phar::setMetadata ( mixed $metadata ) : void public Phar::setSignatureAlgorithm ( int $sigtype [, string $privatekey ] ) : void public Phar::setStub ( string $stub [, int $len = -1 ] ) : bool public Phar::startBuffering ( void ) : void public Phar::stopBuffering ( void ) : void public Phar::uncompressAllFiles ( void ) : bool final public static Phar::unlinkArchive ( string $archive ) : bool final public static Phar::webPhar ([ string $alias [, string $index = "index.php" [, string $f404 [, array $mimetypes [, callable $rewrites ]]]]] ) : void }