(PHP 5 >= 5.1.0)
SplFileObject::flock — Portable file locking
$operation
[, int &$wouldblock
] )Locks or unlocks the file in the same portable way as flock().
operation
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 (not supported on Windows).
wouldblock
Set to TRUE if the lock would block (EWOULDBLOCK errno condition).
Returns TRUE on success or FALSE on failure.
Example #1 SplFileObject::flock() example
<?php
$file = 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 {
echo "Couldn't get the lock!";
}
?>