chmod_variation1.phpt 668 B

12345678910111213141516171819202122232425262728293031323334
  1. --TEST--
  2. chmod() on a directory
  3. --SKIPIF--
  4. <?php
  5. if (substr(PHP_OS, 0, 3) == 'WIN') {
  6. die('skip non-windows only test');
  7. }
  8. ?>
  9. --FILE--
  10. <?php
  11. define("PERMISSIONS_MASK", 0777);
  12. $dirname = __DIR__ . "/" . basename(__FILE__, ".php") . "testdir";
  13. mkdir($dirname);
  14. for ($perms_to_set = 0777; $perms_to_set >= 0; $perms_to_set--) {
  15. chmod($dirname, $perms_to_set);
  16. $set_perms = (fileperms($dirname) & PERMISSIONS_MASK);
  17. clearstatcache();
  18. if ($set_perms != $perms_to_set) {
  19. printf("Error: %o does not match %o\n", $set_perms, $perms_to_set);
  20. }
  21. }
  22. var_dump(chmod($dirname, 0777));
  23. rmdir($dirname);
  24. echo "done";
  25. ?>
  26. --EXPECT--
  27. bool(true)
  28. done