033.phpt 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. --TEST--
  2. Phar::chmod zip-based
  3. --EXTENSIONS--
  4. phar
  5. --INI--
  6. phar.readonly=0
  7. phar.require_hash=0
  8. --FILE--
  9. <?php
  10. $fname = __DIR__ . '/' . basename(__FILE__, '.php') . '.phar.zip';
  11. $fname2 = __DIR__ . '/' . basename(__FILE__, '.php') . '.2.phar.zip';
  12. $alias = 'phar://hio';
  13. $phar = new Phar($fname);
  14. $phar['a.php'] = '<?php echo "This is a\n"; include "'.$alias.'/b.php"; ?>';
  15. $phar->setAlias('hio');
  16. $phar->addEmptyDir('test');
  17. $phar->stopBuffering();
  18. try {
  19. var_dump($phar['a.php']->isExecutable());
  20. $phar['a.php']->chmod(0777);
  21. copy($fname, $fname2);
  22. $phar->setAlias('unused');
  23. $phar2 = new Phar($fname2);
  24. var_dump($phar2['a.php']->isExecutable());
  25. $phar['a.php']->chmod(0666);
  26. var_dump($phar['a.php']->isExecutable());
  27. echo "test dir\n";
  28. var_dump($phar['test']->isDir());
  29. var_dump($phar['test']->isReadable());
  30. $phar['test']->chmod(0000);
  31. var_dump($phar['test']->isReadable());
  32. $phar['test']->chmod(0666);
  33. var_dump($phar['test']->isReadable());
  34. } catch (Exception $e) {
  35. echo $e->getMessage() . "\n";
  36. }
  37. ?>
  38. --CLEAN--
  39. <?php
  40. unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.zip');
  41. unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.2.phar.zip');
  42. ?>
  43. --EXPECT--
  44. bool(false)
  45. bool(true)
  46. bool(false)
  47. test dir
  48. bool(true)
  49. bool(true)
  50. bool(false)
  51. bool(true)