(PHP 4, PHP 5)
flock — Sistema di bloccaggio file
$handle
      , int $operation
       [, int &$wouldblock
     ] )Il PHP supporta un tecnologia portabile per bloccare file completi in modalità advisory (tutti i programmi che vi accedono, devono usare lo stesso tipo di bloccaggio o non funzionerà).
Nota:
flock()è obbligatorio sotto Windows.
     flock() opera su handle
     che deve essere un puntatore ad un file aperto.
     operation può assumere uno dei valori
     seguenti:
    
operation a LOCK_SH (usa 1 prima di
         PHP 4.0.1).
       
      operation a LOCK_EX (usa 2 prima di
         PHP 4.0.1).
       
      operation a LOCK_UN (usa 3 prima
         PHP 4.0.1).
       
      LOCK_NB (4 prima di PHP 4.0.1)
        operation.
       
      
     flock() ti permette di utilizzare un semplice modello di
     lettura/scrittura che in teoria può essere usato su qualsiasi piattaforma
     (inclusi molti sistemi Unix e anche Windows).  Il terzo argomento (opzionale)
     può essere impostato a TRUE se la chiave puo bloccare (EWOULDBLOCK
     errno condition). Il blocco è realizzato anche da fclose()
     (che è anche richiamata automaticamente quando lo script termina).
    
     Restituisce TRUE in caso di successo, FALSE in caso di fallimento.
    
Example #1 Esempio di uso di flock()
<?php
$fp = fopen("/tmp/lock.txt", "w+");
if (flock($fp, LOCK_EX)) { // Esegue un lock esclusivo
    fwrite($fp, "Write something here\n");
    flock($fp, LOCK_UN); // rilascia il lock
} else {
    echo "Non si riesce ad eseguire il lock del file !";
}
fclose($fp);
?>
Nota:
Poiché flock() richiede il puntatore ad un file, può occorre utilizzare un speciale file di lock per proteggere l'accesso a eventuali file che si desidera azzerare attraverso l'apertura in modalità di scrittura (usando "w" o "w+" come argomento di fopen()).
La funzione flock() non funzione con NFS e con diversi altri file system di rete. Verificare sulla documentazione del proprio sistema operativo.
Su molti sistemi operativi flock() è implementato a livello di processo. Usando un server API multithread quale ISAPI non potrai basarti su flock() per proteggere i file da altri script PHP che girino in thread paralleli della stessa istanza del server!
      La funzione flock() non è supportata su file system antiquati tipo
      FAT e i suoi derivati e pertanto in tali ambienti restituirà sempre
      FALSE (questo è vero soprattutto per gli utenti di
      Windows 98).