rename.phpt 985 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. --TEST--
  2. Phar: rename test tar-based
  3. --EXTENSIONS--
  4. phar
  5. --INI--
  6. phar.readonly=0
  7. phar.require_hash=0
  8. --FILE--
  9. <?php
  10. include __DIR__ . '/files/tarmaker.php.inc';
  11. $fname = __DIR__ . '/' . basename(__FILE__, '.php') . '.phar.tar';
  12. $alias = 'phar://' . $fname;
  13. $tar = new tarmaker($fname, 'none');
  14. $tar->init();
  15. $tar->addFile('.phar/stub.php', "<?php
  16. Phar::mapPhar('hio');
  17. __HALT_COMPILER(); ?>");
  18. $files = array();
  19. $files['a'] = 'a';
  20. foreach ($files as $n => $file) {
  21. $tar->addFile($n, $file);
  22. }
  23. $tar->close();
  24. include $fname;
  25. echo file_get_contents($alias . '/a') . "\n";
  26. rename($alias . '/a', $alias . '/b');
  27. echo file_get_contents($alias . '/b') . "\n";
  28. echo file_get_contents($alias . '/a') . "\n";
  29. ?>
  30. --CLEAN--
  31. <?php unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.tar'); ?>
  32. --EXPECTF--
  33. a
  34. a
  35. Warning: file_get_contents(phar://%srename.phar.tar/a): Failed to open stream: phar error: "a" is not a file in phar "%srename.phar.tar" in %srename.php on line %d