2 Phar::startBuffering()/setStub()/stopBuffering() zip-based
5 if (!extension_loaded("phar")) die("skip");
6 if (version_compare(PHP_VERSION, "6.0", ">")) die("skip pre-unicode version of PHP required");
12 $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar.zip', 0, 'brandnewphar.phar');
13 var_dump($p->isFileFormat(Phar::ZIP));
14 //var_dump($p->getStub());
15 var_dump($p->isBuffering());
17 var_dump($p->isBuffering());
18 $p['a.php'] = '<?php var_dump("Hello");';
19 $p->setStub('<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
20 include 'phar://brandnewphar.phar/a.php';
21 var_dump($p->getStub());
22 $p['b.php'] = '<?php var_dump("World");';
23 $p->setStub('<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER();');
24 include 'phar://brandnewphar.phar/b.php';
25 var_dump($p->getStub());
27 echo "===COMMIT===\n";
28 var_dump($p->isBuffering());
29 include 'phar://brandnewphar.phar/a.php';
30 include 'phar://brandnewphar.phar/b.php';
31 var_dump($p->getStub());
33 // add portion to test setting stub from resource
34 file_put_contents(dirname(__FILE__) . '/myfakestub.php', '<?php var_dump("First resource"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
35 $a = fopen(dirname(__FILE__) . '/myfakestub.php', 'rb');
37 var_dump($p->getStub());
38 $c = strlen('<?php var_dump("First resource"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
39 file_put_contents(dirname(__FILE__) . '/myfakestub.php', '<?php var_dump("First resource"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>' . 'extra stuff');
42 var_dump($p->getStub());
48 unlink(dirname(__FILE__) . '/brandnewphar.phar.zip');
49 unlink(dirname(__FILE__) . '/myfakestub.php');
56 string(84) "<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
59 string(85) "<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
65 string(85) "<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
67 string(93) "<?php var_dump("First resource"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
69 string(93) "<?php var_dump("First resource"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>