PHP Velho Oeste 2024

PharData::__construct

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

PharData::__constructConstruir un objeto de archivo tar o zip no ejecutable

Descripción

PharData::__construct(
    string $fname,
    int $flags = ?,
    string $alias = ?,
    int $format = Phar::TAR
)

Parámetros

fname

Ruta a un archivo tar/zip existente o para ser creado

flags

Banderas a pasar a la clase padre RecursiveDirectoryIterator.

alias

Alias con el que referirse al archivo Phar en las llamadas a funcionalidades de flujos.

format

Una de las constantes de formato de fichero disponiblies dentro de la clase Phar.

Errores/Excepciones

Lanza una excepción de tipo BadMethodCallException si se llama dos veces, o una excepción de tipo UnexpectedValueException si no se puede abrir el archivo phar.

Ejemplos

Ejemplo #1 Un ejemplo de PharData::__construct()

<?php
try {
$p = new PharData('/ruta/a/mi.tar', Phar::CURRENT_AS_FILEINFO | Phar::KEY_AS_FILENAME);
} catch (
UnexpectedValueException $e) {
die(
'No se pudo abrir mi.tar');
} catch (
BadMethodCallException $e) {
echo
'Técnicamente esto no puede suceder';
}
echo
file_get_contents('phar:///ruta/a/mi.tar/ejemplo.txt');
?>

add a note add a note

User Contributed Notes 1 note

up
-13
andkirby at gmail dot com
9 years ago
There is a big problem!
It doesn't work but in console (tar -xvzf packagename.tar.gz)  the file was unpacked!

$ php -r "new \PharData('d:/Downloads/commithook-master.tar.gz');"
PHP Fatal error:  Uncaught exception 'UnexpectedValueException' with message 'phar error: "D:\Downloads\commithook-master.tar.gz" is a corrupted tar file (checksum mismatch of file "52 comment=4d08b1e311f074f7281c0f1c21912776ac51394b
")' in Command line code:1
Stack trace:
#0 Command line code(1): PharData->__construct('d:/Downloads/co...')
#1 {main}
  thrown in Command line code on line 1
To Top