A função flock () pode bloquear ou liberar um arquivo e pode retornar verdadeiro em caso de sucesso ou falso em caso de falha.
Sintaxe
bool flock ( resource $handle , int $operation [, int &$wouldblock ] )
A função flock () nos permite executar um modelo simples de leitor / gravador que pode ser usado em praticamente todas as plataformas.
Os bloqueios possíveis são LOCK_SH: Bloqueio compartilhado (leitor). Permite que outros processos acessem o arquivo, LOCK_EX: Bloqueio exclusivo.Evite que outros processos acessem o arquivo, LOCK_UN: Libere um bloqueio compartilhado ou exclusivo e LOCK_NB: Evita bloquear outros processos durante o bloqueio.
Esses bloqueios são usados apenas no processo PHP atual e, se a permissão permitir, outros processos podem modificar ou excluir o arquivo bloqueado por PHP. Esta função é obrigatória no Windows. Podemos usar a função fclose () para liberar a operação de bloqueio, que pode ser chamada automaticamente quando a execução do script for concluída.
Exemplo
<?php
$file = fopen("/PhpProject/sample.txt", "w+");
// exclusive lock
if(flock($file, LOCK_EX)) {
fwrite($file, "flock function");
// release lock
flock($file, LOCK_UN);
echo $file;
} else {
echo "Error locking file!";
}
fclose($file);
?>