PHP flock()Función


PHP Filesystem 参考手册Manual de referencia completo de PHP Filesystem

Definición y uso

La función flock() bloquea o libera archivos.

Si tiene éxito, la función devuelve TRUE. Si falla, devuelve FALSE.

Sintaxis

flock(file,lock,block)

Parámetros Descripción
file Obligatorio. Especifica el archivo abierto que se va a bloquear o liberar.
lock Obligatorio. Especifica qué tipo de bloqueo se va a utilizar.

Posibles valores:

  • LOCK_SH - Bloqueo compartido (programas de lectura). Permite que otros procesos accedan al archivo.
  • LOCK_EX - Bloqueo exclusivo (programas de escritura). Impide que otros procesos accedan al archivo.
  • LOCK_UN - Libera un bloqueo compartido o exclusivo
  • LOCK_NB - Evita bloquear otros procesos durante el bloqueo.
block Opcional. Si se establece en 1, bloquea otros procesos mientras se realiza el bloqueo.


Consejos y notas

Nota:Estos bloqueos solo se utilizan en el proceso PHP actual. Si los permisos lo permiten, otros procesos pueden modificar o eliminar un archivo bloqueado por PHP.

Nota:flock() es obligatorio en Windows.

Consejo:La operación de bloqueo se puede liberar mediante fclose(); se llama automáticamente cuando finaliza la ejecución del script.


Ejemplos

<?php

$file = fopen("test.txt","w+");

// exclusive lock
if (flock($file,LOCK_EX))
{
fwrite($file,"Write something");
// release lock
flock($file,LOCK_UN);
}
else
{
echo "Error locking file!";
}

fclose($file);
?>


PHP Filesystem 参考手册Manual de referencia completo de PHP Filesystem Otras extensiones