SplFileObject::flock

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::flockBloqueo de ficheros portable

Descripción

public SplFileObject::flock ( int $operation [, int &$wouldblock ] ) : bool

Bloquea o desbloquea el fichero de la misma manera portable que flock().

Parámetros

operation

operation es una operación de las siguientes:

  • LOCK_SH para adquirir un bloqueo compartido (lectura).
  • LOCK_EX para adquirir un bloqueo exclusivo (escritura).
  • LOCK_UN para liberar un bloqueo (compartido o exclusivo).
  • LOCK_NB para no esperar mientras se adquiere el bloqueo.

wouldblock

Establecer a TRUE si el bloqueo hará que la función quede esperando (condición de errno EWOULDBLOCK).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::flock()

<?php
$file 
= new SplFileObject("/tmp/bloqueado.txt""w");
if (
$file->flock(LOCK_EX)) { // adquirir un bloqueo exclusivo
    
$file->ftruncate(0);     // truncar el fichero
    
$file->fwrite("Escribir alguna cosa\n");
    
$file->flock(LOCK_UN);   // liberar el bloqueo    
} else {
    echo 
"¡No se pudo obtener el bloqueo!";
}
?>

Historial de cambios

Versión Descripción
5.5.22, 5.6.6 Añadido soporte para el parámetro wouldblock en Windows.
5.3.2 Se eliminó el desbloqueo automático cuando se cierra el manejador de recursos del archivo. El desbloqueo ahora siempre tiene que hacerse manualmente.

Ver también

  • flock() - Bloqueo de ficheros recomendado y portable