dir.phpt 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. --TEST--
  2. Phar: mkdir/rmdir test
  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.php';
  11. $pname = 'phar://' . $fname;
  12. $fname2 = __DIR__ . '/' . basename(__FILE__, '.php') . '.1.phar.php';
  13. $pname2 = 'phar://' . $fname2;
  14. $fname3 = __DIR__ . '/' . basename(__FILE__, '.php') . '.2.phar.php';
  15. $pname3 = 'phar://' . $fname3;
  16. $phar = new Phar($fname);
  17. var_dump($phar->isFileFormat(Phar::PHAR));
  18. $phar->addEmptyDir('test');
  19. var_dump($phar['test']->isDir());
  20. var_dump($phar['test/']->isDir());
  21. copy($fname, $fname2);
  22. mkdir($pname . '/another/dir/');
  23. var_dump($phar['another/dir']->isDir());
  24. rmdir($pname . '/another/dir/');
  25. copy($fname, $fname3);
  26. clearstatcache();
  27. var_dump(file_exists($pname . '/another/dir/'));
  28. var_dump(file_exists($pname2 . '/test/'));
  29. var_dump(file_exists($pname3 . '/another/dir/'));
  30. ini_set('phar.readonly', 1);
  31. mkdir($pname . '/fails');
  32. ini_set('phar.readonly', 0);
  33. // create new phar by mkdir
  34. mkdir('phar://' . __DIR__ . '/ok.phar/fails');
  35. mkdir('phar://' . __DIR__ . '/ok.phar/fails');
  36. file_put_contents('phar://' . __DIR__ . '/ok.phar/sub/directory.txt', 'hi');
  37. mkdir('phar://' . __DIR__ . '/ok.phar/sub');
  38. mkdir('phar://' . __DIR__ . '/ok.phar/sub/directory.txt');
  39. file_put_contents(__DIR__ . '/oops.phar', '<?php this should screw em up __HALT_COMPILER();');
  40. mkdir('phar://' . __DIR__ . '/oops.phar/fails');
  41. mkdir('phar://');
  42. rmdir('phar://');
  43. rmdir('phar://' . __DIR__ . '/unknown.phar/hi');
  44. ini_set('phar.readonly', 1);
  45. rmdir($pname . '/another/dir');
  46. ini_set('phar.readonly', 0);
  47. rmdir($pname);
  48. rmdir($pname . '/');
  49. mkdir($pname . '/');
  50. ?>
  51. --CLEAN--
  52. <?php unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.php'); ?>
  53. <?php unlink(__DIR__ . '/ok.phar'); ?>
  54. <?php unlink(__DIR__ . '/oops.phar'); ?>
  55. <?php unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.1.phar.php'); ?>
  56. <?php unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.2.phar.php'); ?>
  57. --EXPECTF--
  58. bool(true)
  59. bool(true)
  60. bool(true)
  61. bool(true)
  62. bool(false)
  63. bool(true)
  64. bool(false)
  65. Warning: mkdir(): phar error: cannot create directory "phar://%sdir.phar.php/fails", write operations disabled in %sdir.php on line %d
  66. Warning: mkdir(): phar error: cannot create directory "fails" in phar "%sok.phar", directory already exists in %sdir.php on line %d
  67. Warning: mkdir(): phar error: cannot create directory "sub" in phar "%sok.phar", directory already exists in %sdir.php on line %d
  68. Warning: mkdir(): phar error: cannot create directory "sub/directory.txt" in phar "%sok.phar", phar error: path "sub/directory.txt" exists and is a not a directory in %sdir.php on line %d
  69. Warning: mkdir(): internal corruption of phar "%soops.phar" (truncated manifest at stub end) in %sdir.php on line %d
  70. Warning: mkdir(): phar error: cannot create directory "phar://", no phar archive specified in %sdir.php on line %d
  71. Warning: rmdir(): phar error: cannot remove directory "phar://", no phar archive specified, or phar archive does not exist in %sdir.php on line %d
  72. Warning: rmdir(): phar error: cannot remove directory "hi" in phar "%sunknown.phar", directory does not exist in %sdir.php on line %d
  73. Warning: rmdir(): phar error: cannot rmdir directory "phar://%sdir.phar.php/another/dir", write operations disabled in %sdir.php on line %d
  74. Warning: rmdir(): phar error: cannot remove directory "" in phar "%sdir.phar.php", directory does not exist in %sdir.php on line %d
  75. Warning: rmdir(): phar error: cannot remove directory "" in phar "%sdir.phar.php", directory does not exist in %sdir.php on line %d
  76. Warning: mkdir(): phar error: cannot create directory "" in phar "%sdir.phar.php", phar error: invalid path "" must not be empty in %sdir.php on line %d