SplFileObject::flock
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
SplFileObject::flock — Bloqueio de arquivo portável
Descrição
Bloqueia ou desbloqueia o arquivo da mesma forma portável que flock().
Parâmetros
operation
-
operation
é uma das seguintes:-
LOCK_SH
para adquirir um bloqueio compartilhado (leitor). -
LOCK_EX
para adquirir um bloqueio exclusivo (escritor). -
LOCK_UN
para liberar um bloqueio (compartilhado ou exclusivo).
Também é possível adicionar
LOCK_NB
como uma máscara de bits para uma das operações acima, se flock() não deve bloquear durante a tentativa de bloqueio. -
wouldBlock
-
Definido como
true
se o bloqueio bloqueasse (condição de errno EWOULDBLOCK).
Exemplos
Example #1 Exemplo de SplFileObject::flock()
<?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!";
}
?>