php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay
files >> /php-7.1.11/ext/phar/tests/zip/ |
files >> //php-7.1.11/ext/phar/tests/zip/metadata_write_commit.phpt |
--TEST-- Phar with meta-data (write) zip-based --SKIPIF-- <?php if (!extension_loaded("phar")) die("skip"); if (version_compare(PHP_VERSION, "6.0", "==")) die("skip pre-unicode version of PHP required"); ?> --INI-- phar.require_hash=0 phar.readonly=0 --FILE-- <?php $fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.zip.php'; $f2name = dirname(__FILE__) . '/files/metadata.phar.zip'; $pname = 'phar://' . $fname; $p2name = 'phar://' . $f2name; $file = "<?php __HALT_COMPILER(); ?>"; $files = array(); $files['a'] = array('cont' => 'a'); $files['b'] = array('cont' => 'b', 'meta' => 'hi there'); $files['c'] = array('cont' => 'c', 'meta' => array('hi', 'there')); $files['d'] = array('cont' => 'd', 'meta' => array('hi'=>'there','foo'=>'bar')); foreach($files as $name => $cont) { var_dump(file_get_contents($p2name.'/'.$name)); } copy($f2name, $fname); $phar = new Phar($fname); $phar->startBuffering(); $phar['a']->setMetadata(42); $phar['b']->setMetadata(NULL); $phar['c']->setMetadata(array(25, 'foo'=>'bar')); $phar['d']->setMetadata(true); $phar->setMetadata('hi'); foreach($files as $name => $cont) { var_dump($phar[$name]->getMetadata()); } $phar->stopBuffering(); unset($phar); $phar = new Phar($fname); foreach($files as $name => $cont) { var_dump(file_get_contents($pname.'/'.$name)); } foreach($files as $name => $cont) { var_dump($phar[$name]->getMetadata()); } var_dump($phar->getMetadata()); ?> ===DONE=== --CLEAN-- <?php unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.phar.zip.php'); ?> --EXPECT-- string(1) "a" string(1) "b" string(1) "c" string(1) "d" int(42) NULL array(2) { [0]=> int(25) ["foo"]=> string(3) "bar" } bool(true) string(1) "a" string(1) "b" string(1) "c" string(1) "d" int(42) NULL array(2) { [0]=> int(25) ["foo"]=> string(3) "bar" } bool(true) string(2) "hi" ===DONE===y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`