# La clase PharData

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

## Introducción

La clase PharData proporciona una interfaz de alto nivel para el acceso y la creación de archivos tar y zip no ejecutables. Debido a que estos archivos no contienen una rutina de interoperabilidad y no pueden ser ejecutados por la extensión phar, es posible crear y manipular ficheros zip y tar normales con la clase PharData incluso si la opción del php.ini `phar.readonly` está establecida a `1`.

## Sinopsis de la Clase

class PharData extends Phar {
/* Métodos */
addEmptyDir(string `$dirname`): bool
public Phar::addFile(string `$file`, string `$localname` = ?): void
addFromString(string `$localname`, string `$contents`): bool
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`): bool
__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(): bool
delMetadata(): bool
delete(string `$entry`): bool
extractTo(string `$pathto`, string|array `$files` = ?, bool `$overwrite` = false): bool
isWritable(): 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étodos heredados */
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(): 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(): bool
public Phar::compress(int `$compression`, string `$extension` = ?): object
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(): int
final public static Phar::createDefaultStub(string `$indexfile` = ?, string `$webindexfile` = ?): string
public Phar::decompress(string `$extension` = ?): object
public Phar::decompressFiles(): bool
public Phar::delMetadata(): bool
public Phar::delete(string `$entry`): bool
public Phar::extractTo(string `$pathto`, string|array `$files` = ?, bool `$overwrite` = false): bool
public Phar::getAlias(): ?string
public Phar::getMetadata(): mixed
public Phar::getModified(): bool
public Phar::getPath(): string
public Phar::getSignature(): array
public Phar::getStub(): string
final public static Phar::getSupportedCompression(): array
final public static Phar::getSupportedSignatures(): array
public Phar::getVersion(): string
public Phar::hasMetadata(): bool
final public static Phar::interceptFileFuncs(): void
public Phar::isBuffering(): bool
public Phar::isCompressed(): mixed
public Phar::isFileFormat(int `$format`): bool
final public static Phar::isValidPharFilename(string `$filename`, bool `$executable` = true): bool
public Phar::isWritable(): 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
public Phar::stopBuffering(): void
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
}

## Tabla de contenidos

- PharData::addEmptyDir — Añadir un directorio vacío al archivo tar/zip
- PharData::addFile — Añadir un fichero desde el sistema de ficheros al archivo tar/zip
- PharData::addFromString — Añadir un fichero desde el sistema de ficheros al archivo tar/zip
- PharData::buildFromDirectory — Construir un archivo tar/zip desde los ficheros de un directorio
- PharData::buildFromIterator — Construir un archivo tar o zip desde un iterador
- PharData::compress — Comprimir el archivo tar/zip entero usando la compresión Gzip o Bzip2
- PharData::compressFiles — Comprime todos los ficheros del archivo tar/zip actual
- PharData::__construct — Construir un objeto de archivo tar o zip no ejecutable
- PharData::convertToData — Convertir un archivo phar en un fichero tar o zip no ejecutable
- PharData::convertToExecutable — Convertir un archivo tar/zip no ejecutable en un archivo phar ejecutable
- PharData::copy — Copiar un fichero interno de un archivo phar a otro fichero nuevo dentro del phar
- PharData::decompress — Descomprimir un archivo Phar entero
- PharData::decompressFiles — Descomprimir todos los ficheros del archivo zip actual
- PharData::delMetadata — Eliminar la metainformación global de un archivo zip
- PharData::delete — Borrar un fichero dentro de un archivo tar/zip
- PharData::__destruct — Destructs a non-executable tar or zip archive object
- PharData::extractTo — Extraer el contenido de un archivo tar/zip a un directorio
- PharData::isWritable — Devolver si el archivo tar/zip se puede modificar
- PharData::offsetSet — Establecer el contenido de un fichero dentro de un tar/zip a aquel de un fichero o cadena externos
- PharData::offsetUnset — Eliminar un ficerho de un archivo tar/zip
- PharData::setAlias — función sin sentido (Phar::setAlias no es válido para PharData)
- PharData::setDefaultStub — función sin sentido (Phar::setStub no es válido para PharData)
- Phar::setMetadata — Establecer la metainformación de un archivo phar
- Phar::setSignatureAlgorithm — Establecer el algoritmo de firma para un phar y aplicarlo
- PharData::setStub — función sin sentido (Phar::setStub no es válido para PharData)