Latest web development tutorials
 

PHP flock() Function


< Complete PHP Filesystem Reference

Definition and Usage

The flock() function locks or releases a file.

This function returns TRUE on success or FALSE on failure.

Syntax

flock(file,lock,block)

Parameter Description
file Required. Specifies an open file to lock or release
lock Required. Specifies what kind of lock to use.

Possible values:

  • LOCK_SH - Shared lock (reader). Allow other processes to access the file
  • LOCK_EX - Exclusive lock (writer). Prevent other processes from accessing the file
  • LOCK_UN - Release a shared or exclusive lock
  • LOCK_NB - Avoids blocking other processes while locking
block Optional. Set to 1 to block other processes while locking

Tips and Notes

Note: These locks only apply to the current PHP process. Other processes can modify or delete a PHP-locked file if permissions allow.

Note: flock() is mandatory under Windows.

Tip: The lock is released also by fclose() , which is called automatically when script is finished.


Example

<?php

$file = fopen("test.txt","w+");

// exclusive lock
if (flock($file,LOCK_EX))
  {
  fwrite($file,"Write something");
  // release lock
  flock($file,LOCK_UN);
  }
else
  {
  echo "Error locking file!";
  }

fclose($file);
?>

< Complete PHP Filesystem Reference