Friday, October 17, 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
32361 POSTS0 COMMENTS
Milvus
88 POSTS0 COMMENTS
Nango Kala
6728 POSTS0 COMMENTS
Nicole Veronica
11892 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11954 POSTS0 COMMENTS
Shaida Kate Naidoo
6852 POSTS0 COMMENTS
Ted Musemwa
7113 POSTS0 COMMENTS
Thapelo Manthata
6805 POSTS0 COMMENTS
Umr Jansen
6801 POSTS0 COMMENTS