addfuncs.phpt 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. --TEST--
  2. Phar: addFile/addFromString
  3. --EXTENSIONS--
  4. phar
  5. --INI--
  6. phar.readonly=0
  7. --FILE--
  8. <?php
  9. $fname = __DIR__ . '/' . basename(__FILE__, '.php') . '.phar.php';
  10. $pname = 'phar://' . $fname;
  11. $phar = new Phar($fname);
  12. $phar->addFromString('a', 'hi');
  13. echo file_get_contents($pname . '/a') . "\n";
  14. $phar->addFile($pname . '/a', 'b');
  15. echo file_get_contents($pname . '/b') . "\n";
  16. try {
  17. $phar->addFile($pname . '/a');
  18. } catch (Exception $e) {
  19. echo $e->getMessage() . "\n";
  20. }
  21. try {
  22. $phar->addFile($pname . '/a', 'a');
  23. } catch (Exception $e) {
  24. echo $e->getMessage() . "\n";
  25. }
  26. try {
  27. $phar->addFile(__DIR__ . '/does/not/exist');
  28. } catch (Exception $e) {
  29. echo $e->getMessage() . "\n";
  30. }
  31. try {
  32. $phar->addFile($pname . '/a', '.phar/stub.php');
  33. } catch (Exception $e) {
  34. echo $e->getMessage() . "\n";
  35. }
  36. try {
  37. $phar->addFromString('.phar/stub.php', 'hi');
  38. } catch (Exception $e) {
  39. echo $e->getMessage() . "\n";
  40. }
  41. ?>
  42. --CLEAN--
  43. <?php unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.php'); ?>
  44. --EXPECTF--
  45. hi
  46. hi
  47. Entry phar://%saddfuncs.phar.php/a does not exist and cannot be created: phar error: invalid path "phar://%saddfuncs.phar.php/a" contains double slash
  48. Entry a does not exist and cannot be created: phar error: file "a" in phar "%saddfuncs.phar.php" cannot be opened for writing, readable file pointers are open
  49. phar error: unable to open file "%s/does/not/exist" to add to phar archive
  50. Cannot create any files in magic ".phar" directory
  51. Cannot create any files in magic ".phar" directory