Thursday, December 18, 2025
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
32455 POSTS0 COMMENTS
Milvus
108 POSTS0 COMMENTS
Nango Kala
6823 POSTS0 COMMENTS
Nicole Veronica
11958 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12035 POSTS0 COMMENTS
Shaida Kate Naidoo
6958 POSTS0 COMMENTS
Ted Musemwa
7203 POSTS0 COMMENTS
Thapelo Manthata
6910 POSTS0 COMMENTS
Umr Jansen
6890 POSTS0 COMMENTS