Monday, May 25, 2026
HomeLanguagesPHP | SplFileObject flock() Function

PHP | SplFileObject flock() Function

The SplFileObject flock() function is an inbuilt function of Standard PHP Library (SPL) in PHP which is used to apply portable lock on the file.

Syntax:

bool SplFileObject::flock( $opr, $isBlock )

Parameters: This function accept two parameters as mentioned above and described below:
$opr: It is used to specify the operation to be apply from the following list:

  • LOCK_SH: Acquire a shared lock (reader).
  • LOCK_EX: Acquire an exclusive lock (writer).
  • LOCK_UN: Release a lock.
  • LOCK_NB: Not block while locking.

$isBlock: This parameter is set to True if the lock is block.

Return values: This function returns True on on success or False on failure.

Note: Make sure the used file in below program named as gfg.txt and should have read and write permissions.

Below Programs illustrate the SplFileObject::flock() function in PHP:

Program 1:




<?php
  
// Create Spl Object
$file = new SplFileObject("gfg.txt", "w");
  
// Add an Exclusive lock to gfg.txt
if ($file->flock(LOCK_SH)) { 
    $file->ftruncate(0);
    $file->fwrite("Write GFG inside the gfg.txt");
      
    // Release the lock  
    $file->flock(LOCK_UN);
    echo "Success Lock and Unlock Operation";
} 
else {
    echo "No Lock Available";
}
?>


Output:

Success Lock and Unlock Operation.

Program 2:




<?php
  
// Create SplFile Object
$file = new SplFileObject("gfg.txt", "w");
  
// Add an Exclusive lock to gfg.txt
if ($file->flock(LOCK_EX)) { 
    $file->ftruncate(0);
    $file->fwrite("Write GFG inside the gfg.txt");
      
    // Release the lock  
    $file->flock(LOCK_UN);
    echo "Success Exclusive Lock and Unlock Operation";
} else {
    echo "No Lock Available";
}
?>


Output:

Success Exclusive Lock and Unlock Operation

Reference: http://php.net/manual/en/splfileobject.flock.php

RELATED ARTICLES

Most Popular

Dominic
32514 POSTS0 COMMENTS
Milvus
131 POSTS0 COMMENTS
Nango Kala
6892 POSTS0 COMMENTS
Nicole Veronica
12012 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12107 POSTS0 COMMENTS
Shaida Kate Naidoo
7016 POSTS0 COMMENTS
Ted Musemwa
7262 POSTS0 COMMENTS
Thapelo Manthata
6975 POSTS0 COMMENTS
Umr Jansen
6963 POSTS0 COMMENTS