310 of 410 menu

Función flock

La función flock establece o elimina un bloqueo de archivo. Como primer parámetro acepta un puntero al archivo, obtenido mediante fopen, como segundo parámetro - el tipo de bloqueo (LOCK_SH, LOCK_EX o LOCK_UN), y como tercer parámetro opcional - un indicador para operación no bloqueante.

Sintaxis

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

Ejemplo

Bloqueo de archivo para acceso exclusivo (escritura):

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

Ejemplo

Bloqueo compartido para lectura:

<?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; ?>

Ejemplo

Intento no bloqueante de adquirir el bloqueo:

<?php $file = fopen("data.txt", "c+"); if (flock($file, LOCK_EX | LOCK_NB, $would_block)) { if ($would_block) { echo "File is locked by another process"; } else { fwrite($file, "Data"); flock($file, LOCK_UN); } } fclose($file); ?>

Véase también

  • la función fopen,
    que abre un archivo
  • la función fclose,
    que cierra un archivo
  • la función is_writable,
    que verifica la posibilidad de escritura
Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar