# La classe PharData

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

## Introduction

La classe PharData fournit une interface de haut niveau pour accéder et créer des archives tar et zip non exécutables. Du fait que ces archives ne contiennent pas de conteneur et qu'elles ne puissent être exécutées par l'extension phar, il est possible de créer et de manipuler des fichiers zip et tar normaux en utilisant la classe PharData même si le paramètre phar.readonly du php.ini est à 1.

## Synopsis de la classe

PharData extends RecursiveDirectoryIterator {
/* Constants héritées */
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 ;
/* Méthodes */
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
/* Méthodes héritées */
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
}

## Sommaire

- PharData::addEmptyDir — Ajoute un répertoire vide à l'archive tar/zip
- PharData::addFile — Ajoute un fichier du système de fichiers à l'archive tar/zip
- PharData::addFromString — Ajoute un fichier du système de fichiers à l'archive tar/zip
- PharData::buildFromDirectory — Construit une archive tar/zip à partir des fichiers d'un répertoire
- PharData::buildFromIterator — Construit une archive tar ou zip à partir d'un itérateur
- PharData::compress — Compresse l'archive tar/zip complète en utilisant la compression Gzip ou Bzip2
- PharData::compressFiles — Compresse tous les fichiers de l'archive tar/zip courante
- PharData::__construct — Construit un objet d'archive tar ou zip non-exécutable
- PharData::convertToData — Convertit une archive phar en une archive tar ou zip non-exécutable
- PharData::convertToExecutable — Convertit une archive tar/zip non-exécutable en une archive phar exécutable
- PharData::copy — Copie un fichier un fichier interne à l'archive phar vers un autre fichier au sein de la même archive
- PharData::decompress — Décompresse l'archive Phar entière
- PharData::decompressFiles — Décompresse tous les fichiers de l'archive zip courante
- PharData::delMetadata — Efface les méta-données globales d'une archive zip
- PharData::delete — Efface un fichier au sein de l'archive tar/zip
- PharData::extractTo — Extrait le contenu d'une archive tar/zip vers un répertoire
- PharData::isWritable — Vérifie si l'archive tar/zip peut être modifiée
- PharData::offsetSet — Remplit un fichier au sein de l'archive tar/zip avec le contenu d'un fichier externe ou d'une chaîne de caractères
- PharData::offsetUnset — Efface un fichier d'une archive tar/zip
- PharData::setAlias — Fonction inutile (Phar::setAlias n'est pas valide pour PharData)
- PharData::setDefaultStub — Fonction inutile (Phar::setDefaultStub n'est pas valide pour PharData)
- Phar::setMetadata — Fixe les méta-données de l'archive
- Phar::setSignatureAlgorithm — Assigne l'algorithme de signature d'un phar et l'applique
- PharData::setStub — Fonction inutile (Phar::setStub n'est pas valide pour PharData)