(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::flockPortable file locking


public SplFileObject::flock ( int $operation [, int &$wouldblock ] ) : bool

Locks or unlocks the file in the same portable way as flock().



operation is one of the following:

  • LOCK_SH to acquire a shared lock (reader).
  • LOCK_EX to acquire an exclusive lock (writer).
  • LOCK_UN to release a lock (shared or exclusive).

It is also possible to add LOCK_NB as a bitmask to one of the above operations, if flock() should not block during the locking attempt.


Set to TRUE if the lock would block (EWOULDBLOCK errno condition).

Return Values

Returns TRUE on success or FALSE on failure.


Example #1 SplFileObject::flock() example

= new SplFileObject("/tmp/lock.txt""w");
if (
$file->flock(LOCK_EX)) { // do an exclusive lock
$file->ftruncate(0);     // truncate file
$file->fwrite("Write something here\n");
$file->flock(LOCK_UN);   // release the lock    
} else {
"Couldn't get the lock!";

See Also

  • flock() - Portable advisory file locking

add a note add a note

User Contributed Notes 1 note

digitalprecision at gmail dot com
9 years ago
For the record, the example given here has an explicit command to truncate the file, however with a 'write mode' of 'w', it will do this for you automatically, so the truncate call is not needed.
To Top