310 of 410 menu

Funzione flock

La funzione flock imposta o rimuove un blocco su un file. Come primo parametro accetta un puntatore al file, ottenuto tramite fopen, come secondo parametro - il tipo di blocco (LOCK_SH, LOCK_EX o LOCK_UN), e come terzo parametro opzionale - un flag per l'operazione non bloccante.

Sintassi

flock(resource $handle, int $operation, int &$would_block = null): bool

Esempio

Blocco del file per accesso esclusivo (scrittura):

<?php $file = fopen("data.txt", "c+"); if (flock($file, LOCK_EX)) { ftruncate($file, 0); fwrite($file, "Nuovi dati"); flock($file, LOCK_UN); } fclose($file); ?>

Esempio

Blocco condiviso per la lettura:

<?php $file = fopen("data.txt", "r"); if (flock($file, LOCK_SH)) { $content = fread($file, filesize("data.txt")); flock($file, LOCK_UN); } fclose($file); echo $content; ?>

Esempio

Tentativo di acquisizione del blocco non bloccante:

<?php $file = fopen("data.txt", "c+"); if (flock($file, LOCK_EX | LOCK_NB, $would_block)) { if ($would_block) { echo "Il file è bloccato da un altro processo"; } else { fwrite($file, "Dati"); flock($file, LOCK_UN); } } fclose($file); ?>

Vedi anche

  • la funzione fopen,
    che apre un file
  • la funzione fclose,
    che chiude un file
  • la funzione is_writable,
    che verifica la possibilità di scrittura
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta