GoLang SplFileObject::flock

request it (104)
GoLang replacement for PHP's SplFileObject::flock [edit | history]

Do you know a GoLang replacement for PHP's SplFileObject::flock? Write it!

PHP SplFileObject::flock

PHP original manual for SplFileObject::flock [ show | php.net ]


(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::flockPortable file locking


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

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).
  • LOCK_NB to not block while locking.


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!";


Version Description
5.5.22, 5.6.6 Added support for the wouldblock parameter on Windows.
5.3.2 The automatic unlocking when the file's resource handle is closed was removed. Unlocking now always has to be done manually.

See Also

  • flock() - Portable advisory file locking