--TEST-- Phar object: iterator & entries --SKIPIF-- --INI-- phar.readonly=1 phar.require_hash=0 --FILE-- setInfoClass('SplFileInfo'); foreach($phar as $name => $ent) { var_dump(str_replace(str_replace('\\', '/', dirname(__FILE__)), '*', $name)); var_dump($ent->getFilename()); var_dump($ent->getSize()); var_dump($ent->getType()); var_dump($ent->isWritable()); var_dump($ent->isReadable()); var_dump($ent->isExecutable()); var_dump($ent->isFile()); var_dump($ent->isDir()); var_dump($ent->isLink()); var_dump($ent->getCTime()); var_dump($ent->getMTime()); var_dump($ent->getATime()); } echo "==RECURSIVE==\n"; $phar = new Phar($fname); foreach(new RecursiveIteratorIterator($phar) as $name => $ent) { var_dump(str_replace(str_replace('\\', '/', dirname(__FILE__)), '*', $name)); var_dump(str_replace('\\', '/', $ent->getFilename())); var_dump($ent->getCompressedSize()); var_dump($ent->isCRCChecked()); var_dump($ent->isCRCChecked() ? $ent->getCRC32() : NULL); var_dump($ent->getPharFlags()); } ?> ===DONE=== --CLEAN-- --EXPECTF-- unicode(42) "phar://*/files/phar_oo_test.phar.php%ca.php" string(5) "a.php" int(32) unicode(4) "file" bool(false) bool(true) bool(false) bool(true) bool(false) bool(false) int(%d) int(%d) int(%d) unicode(38) "phar://*/files/phar_oo_test.phar.php%cb" string(1) "b" int(0) unicode(3) "dir" bool(false) bool(true) bool(false) bool(false) bool(true) bool(false) int(%d) int(%d) int(%d) unicode(42) "phar://*/files/phar_oo_test.phar.php%cb.php" string(5) "b.php" int(32) unicode(4) "file" bool(false) bool(true) bool(false) bool(true) bool(false) bool(false) int(%d) int(%d) int(%d) unicode(42) "phar://*/files/phar_oo_test.phar.php%ce.php" string(5) "e.php" int(32) unicode(4) "file" bool(false) bool(true) bool(false) bool(true) bool(false) bool(false) int(%d) int(%d) int(%d) ==RECURSIVE== unicode(42) "phar://*/files/phar_oo_test.phar.php%ca.php" unicode(5) "a.php" int(32) bool(false) NULL int(0) unicode(44) "phar://*/files/phar_oo_test.phar.php/b%cc.php" unicode(5) "c.php" int(34) bool(false) NULL int(0) unicode(44) "phar://*/files/phar_oo_test.phar.php/b%cd.php" unicode(5) "d.php" int(34) bool(false) NULL int(0) unicode(42) "phar://*/files/phar_oo_test.phar.php%cb.php" unicode(5) "b.php" int(32) bool(false) NULL int(0) unicode(42) "phar://*/files/phar_oo_test.phar.php%ce.php" unicode(5) "e.php" int(32) bool(false) NULL int(0) ===DONE===