PHP | flock() Function

PHP flock() Function


Hello dear readers! welcome back to another edition of our tutorial on PHP. In this tutorial guide, we are going to be discussing about the PHP flock() Function.

The built-in PHP flock() function locks or releases a file.

Syntax

Following below is the syntax to use this function -

bool flock ( resource $handle , int $operation [, int &$wouldblock ] )


This function allows us to perform a simple reader/writer model that can be made use of on virtually all platform.

The possible locks for this PHP function are LOCK_SH:Shared lock which allows other processes to access the file, LOCK_EX:Exclusive lock that prevents other processes from accessing the file, LOCK_UN: releases a shared or an exclusive lock and LOCK_NB: avoid blocking other processes while locking.

These locks are made use of only in the current PHP process, and if the permission allows, then other processes can modify or delete the PHP-lock file. This built-in PHP function is compulsory under the Windows OS. We can use the built-in fclose() function to release the lock operations, and this function can be automatically called when the script execution is completed.

Return Value

This built-in PHP function returns true on success or false on failure.

Example

Try out the below example -

<?php
   $file = fopen("/PhpProject/sample.txt", "w+");

   // exclusive lock
   if(flock($file, LOCK_EX)) {
      fwrite($file, "flock function");
      
   // release lock
      flock($file, LOCK_UN);
      echo $file;
   } else {
      echo "Error locking file!";
   }
   fclose($file);
?>


Alright guys! This is where we are rounding up for this tutorial guide. In our next tutorial guide, we are going to be discussing about the PHP fnmatch() Function.

Do feel free to ask your questions where necessary and we will attend to them as soon as possible. If this tutorial was helpful to you, you can use the share button to share this tutorial.

Follow us on our various social media platforms to stay updated with our latest tutorials. You can also subscribe to our newsletter in order to get our tutorials delivered directly to your emails.

Thanks for reading and bye for now.