SplFileObject::flock

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::flockPortable file locking

Descrierea

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

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

Parametri

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.

wouldblock

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

Valorile întoarse

Întoarce valoarea TRUE în cazul succesului sau FALSE în cazul eșecului.

Exemple

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

Istoricul schimbărilor

Versiune Descriere
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.

A se vedea și

  • flock() - Portable advisory file locking