PHP 7.4.0RC4 Released!

PharData::__construct

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

PharData::__constructКонструктор объекта PharData

Описание

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

Список параметров

fname

Путь либо к существующему tar/zip-архиву, либо к вновь создаваемому

flags

Флаги для передачи родительскому классу Phar RecursiveDirectoryIterator.

alias

Псевдоним, который необходимо назначить phar-архиву для использования в потоковых обертках.

format

Одна из констант формата файлов доступная для класса Phar.

Ошибки

Выбрасывает исключение BadMethodCallException, если вызван дважды; Выбрасывает исключение UnexpectedValueException, если Phar-архив невозможно открыть.

Примеры

Пример #1 Пример использования PharData::__construct()

<?php
try {
    
$p = new PharData('/path/to/my.tar'Phar::CURRENT_AS_FILEINFO Phar::KEY_AS_FILENAME);
} catch (
UnexpectedValueException $e) {
    die(
'Не удалось открыть my.tar');
} catch (
BadMethodCallException $e) {
    echo 
'Технически, это никогда не произойдет';
}
echo 
file_get_contents('phar:///path/to/my.tar/example.txt');
?>

add a note add a note

User Contributed Notes 1 note

up
-13
andkirby at gmail dot com
4 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