PHP - Funzione flock ()
La funzione flock () può bloccare o rilasciare un file e può restituire true in caso di successo o false in caso di fallimento.
Sintassi
bool flock ( resource $handle , int $operation [, int &$wouldblock ] )
La funzione flock () ci consente di eseguire un semplice modello di lettore / scrittore che può essere utilizzato praticamente su ogni piattaforma.
I possibili blocchi sono LOCK_SH: Blocco condiviso (lettore). Consenti ad altri processi di accedere al file, LOCK_EX: blocco esclusivo Impedisci ad altri processi di accedere al file, LOCK_UN: rilascia un blocco condiviso o esclusivo e LOCK_NB: evita il blocco di altri processi durante il blocco.
Questi blocchi vengono utilizzati solo nel processo PHP corrente e, se l'autorizzazione lo consente, altri processi possono modificare o eliminare il file bloccato da PHP. Questa funzione è obbligatoria in Windows. Possiamo usare la funzione fclose () per rilasciare l'operazione di blocco, che può essere chiamata automaticamente quando l'esecuzione dello script è completata.
Esempio
<?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);
?>