flock_basic.phpt 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. --TEST--
  2. Test flock() function: Basic functionality
  3. --FILE--
  4. <?php
  5. /*
  6. Prototype: bool flock(resource $handle, int $operation [, int &$wouldblock]);
  7. Description: PHP supports a portable way of locking complete files
  8. in an advisory way
  9. */
  10. echo "*** Testing flock() fun with file and dir ***\n";
  11. $file_path = dirname(__FILE__);
  12. $file_handle = fopen("$file_path/lock.tmp", "w");
  13. var_dump(flock($file_handle, LOCK_SH|LOCK_NB));
  14. var_dump(flock($file_handle, LOCK_UN));
  15. var_dump(flock($file_handle, LOCK_EX));
  16. var_dump(flock($file_handle, LOCK_UN));
  17. fclose($file_handle);
  18. unlink("$file_path/lock.tmp");
  19. mkdir("$file_path/dir");
  20. $dir_handle = opendir("$file_path/dir");
  21. var_dump(flock($dir_handle, LOCK_SH|LOCK_NB));
  22. var_dump(flock($dir_handle, LOCK_UN));
  23. var_dump(flock($dir_handle, LOCK_EX));
  24. var_dump(flock($dir_handle, LOCK_UN));
  25. closedir($dir_handle);
  26. rmdir("$file_path/dir");
  27. echo "\n*** Done ***\n";
  28. ?>
  29. --EXPECTF--
  30. *** Testing flock() fun with file and dir ***
  31. bool(true)
  32. bool(true)
  33. bool(true)
  34. bool(true)
  35. bool(false)
  36. bool(false)
  37. bool(false)
  38. bool(false)
  39. *** Done ***