flock

(PHP 3>= 3.0.7, PHP 4 )

flock -- Sistema di bloccaggio file

Descrizione

bool flock ( int fp, 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à).

flock() opera su fp che deve essere un puntatore ad un file aperto. operation può assumere uno dei valori seguenti:

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)

flock() restituisce TRUE se ha successo e FALSE in caso d'errore (ad esempio quando una chiave (lock) non può venire acquisita).

Nota: Because flock() requires a file pointer, you may have to use a special lock file to protect access to a file that you intend to truncate by opening it in write mode (with a "w" or "w+" argument to fopen()).

Attenzione

flock() will not work on NFS and many other networked file systems. Check your operating system documentation for more details.

Su molti sistemi operativi flock() è implementato a livello di processo. Usando un server API multithread quale ISAPI non potrai basarti su flock() per proteggerre i file da altri script PHP che girino in thread paralleli della stessa istanza del server!