phar_stub.phpt 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. --TEST--
  2. Phar::setStub() (zip-based)
  3. --EXTENSIONS--
  4. phar
  5. --INI--
  6. phar.require_hash=0
  7. phar.readonly=0
  8. --FILE--
  9. <?php
  10. $fname2 = __DIR__ . '/' . basename(__FILE__, '.php') . '.2.phar.zip.php';
  11. $fname = __DIR__ . '/' . basename(__FILE__, '.php') . '.phar.zip.php';
  12. $pname = 'phar://' . $fname;
  13. $pname2 = 'phar://' . $fname2;
  14. $p = new Phar($pname2);
  15. $p->setStub('<?php echo "first stub\n"; __HALT_COMPILER(); ?>');
  16. $p['a'] = 'a';
  17. $p['b'] = 'b';
  18. $p['c'] = 'c';
  19. copy($fname2, $fname);
  20. $phar = new Phar($fname);
  21. echo $phar->getStub();
  22. $file = '<?php echo "second stub\n"; __HALT_COMPILER(); ?>';
  23. //// 2
  24. $phar->setStub($file);
  25. echo $phar->getStub();
  26. $fname3 = __DIR__ . '/' . basename(__FILE__, '.php') . '.phartmp.php';
  27. $file = '<?php echo "third stub\n"; __HALT_COMPILER(); ?>';
  28. $fp = fopen($fname3, 'wb');
  29. fwrite($fp, $file);
  30. fclose($fp);
  31. $fp = fopen($fname3, 'rb');
  32. //// 3
  33. $phar->setStub($fp);
  34. fclose($fp);
  35. echo $phar->getStub();
  36. $fp = fopen($fname3, 'ab');
  37. fwrite($fp, 'booya');
  38. fclose($fp);
  39. echo file_get_contents($fname3) . "\n";
  40. $fp = fopen($fname3, 'rb');
  41. //// 4
  42. $phar->setStub($fp, strlen($file));
  43. fclose($fp);
  44. echo $phar->getStub();
  45. $phar['testing'] = 'hi';
  46. echo $phar->getStub();
  47. ?>
  48. --CLEAN--
  49. <?php
  50. unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.zip.php');
  51. unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.2.phar.zip.php');
  52. unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phartmp.php');
  53. __HALT_COMPILER();
  54. ?>
  55. --EXPECT--
  56. <?php echo "first stub\n"; __HALT_COMPILER(); ?>
  57. <?php echo "second stub\n"; __HALT_COMPILER(); ?>
  58. <?php echo "third stub\n"; __HALT_COMPILER(); ?>
  59. <?php echo "third stub\n"; __HALT_COMPILER(); ?>booya
  60. <?php echo "third stub\n"; __HALT_COMPILER(); ?>
  61. <?php echo "third stub\n"; __HALT_COMPILER(); ?>