030.phpt 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. --TEST--
  2. Phar::loadPhar ignoring alias
  3. --EXTENSIONS--
  4. phar
  5. --INI--
  6. phar.require_hash=0
  7. --FILE--
  8. <?php
  9. $fname = __DIR__ . '/' . basename(__FILE__, '.php') . '.phar.php';
  10. $pname = 'phar://' . $fname;
  11. $file = '<?php include "' . $pname . '/a.php"; __HALT_COMPILER(); ?>';
  12. $files = array();
  13. $files['a.php'] = '<?php echo "This is a\n"; include \''.$pname.'/b.php\'; ?>';
  14. $files['b.php'] = '<?php echo "This is b\n"; include \''.$pname.'/b/c.php\'; ?>';
  15. $files['b/c.php'] = '<?php echo "This is b/c\n"; include \''.$pname.'/b/d.php\'; ?>';
  16. $files['b/d.php'] = '<?php echo "This is b/d\n"; include \''.$pname.'/e.php\'; ?>';
  17. $files['e.php'] = '<?php echo "This is e\n"; ?>';
  18. $files['.phar/test'] = '<?php bad boy ?>';
  19. include 'files/phar_test.inc';
  20. Phar::loadPhar($fname);
  21. require $pname . '/a.php';
  22. $p = new Phar($fname);
  23. var_dump(isset($p['.phar/test']));
  24. try {
  25. $p['.phar/test'];
  26. } catch (Exception $e) {
  27. echo $e->getMessage(),"\n";
  28. }
  29. ?>
  30. --CLEAN--
  31. <?php
  32. unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.php');
  33. ?>
  34. --EXPECT--
  35. This is a
  36. This is b
  37. This is b/c
  38. This is b/d
  39. This is e
  40. bool(false)
  41. Cannot directly get any files or directories in magic ".phar" directory