PHP 7.0.6 Released

PharData::__construct

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

PharData::__constructConstruct a non-executable tar or zip archive object

Description

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

Parameters

fname

Path to an existing tar/zip archive or to-be-created archive

flags

Flags to pass to Phar parent class RecursiveDirectoryIterator.

alias

Alias with which this Phar archive should be referred to in calls to stream functionality.

format

One of the file format constants available within the Phar class.

Errors/Exceptions

Throws BadMethodCallException if called twice; UnexpectedValueException if the Phar archive can't be opened.

Examples

Example #1 A PharData::__construct() example

<?php
try {
    
$p = new PharData('/path/to/my.tar'Phar::CURRENT_AS_FILEINFO Phar::KEY_AS_FILENAME);
} catch (
UnexpectedValueException $e) {
    die(
'Could not open my.tar');
} catch (
BadMethodCallException $e) {
    echo 
'technically, this cannot happen';
}
echo 
file_get_contents('phar:///path/to/my.tar/example.txt');
?>

User Contributed Notes

andkirby at gmail dot com
1 year 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