Inicio PHP JavaScript Manual PHP Links de interes Contacto
Scripts en PHP Programación PHP, lenguaje del lado del servidor.
Scripts PHP - Funciones Funciones  Scripts PHP - Ip´s Ip´s  Scripts PHP - Otros Otros  
Scripts en JavaScript Programación JavaScript, lenguaje del lado del cliente.
Scripts JS - Barra de estado Barra de estado  Scripts JS - Calculadoras Calculadoras  Scripts JS - Efectos Efectos  Scripts JS - Relojes/Calendarios Relojes/Calendarios  
  Manual PHP     Manual PHP  
function.flock -- http://www.mundoscript.com/php/function.flock.html flock

flock

(PHP 3>= 3.0.7, PHP 4 , PHP 5)

flock -- Aviso de bloqueo de archivos portable

Descripción

bool flock ( resource gestor, int operacion [, int &bloquearia])

PHP soporta una manera portable de bloquear archivos enteros de por medio de avisos (lo que quiere decir que todos los programas que acceden al archivo deben usar el mismo mecanismo de bloqueo, o no funcionará).

Nota: flock() es obligatorio bajo Windows.

flock() opera sobre gestor, que debe ser un apuntador a un archivo abierto. operacion es uno de los siguientes valores:

  • Para adquirir un bloqueo compartido (de lectura), defina operacion a LOCK_SH (o use 1 antes de PHP 4.0.1).

  • Para adquirir un bloqueo exclusizo (de escritura), defina operacion a LOCK_EX (o use 2 antes de PHP 4.0.1).

  • Para liberar un bloqueo (compartido o exclusivo), defina operacion a LOCK_UN (o use 3 antes de PHP 4.0.1).

  • Si no desea que flock() bloquee mientras opera, agregue LOCK_NB (4 antes de PHP 4.0.1) a operacion.

flock() le permite ejecutar un modelo de lectura/escritura simple que puede ser usado en prácticamente cualquier plataforma (incluyendo la mayoría de derivaciones de Unix e incluso Windows). El tercer argumento opcional recibe el valor TRUE si el aviso produciría un bloqueo (la condición EWOULDBLOCK)

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplo 1. Ejemplo de flock()

<?php

$aa
= fopen("/tmp/bloqueo.txt", "w+");

if (
flock($aa, LOCK_EX)) { // realizar un bloqueo exclusivo
    
fwrite($aa, "Escribir algo aqui\n");
    
flock($aa, LOCK_UN); // liberar el aviso
} else {
    echo
"&iexcl;No se pudo bloquear el archivo!";
}

fclose($aa);

?>

Nota: Dado que flock() requiere un apuntador de archivo, puede que necesite usar un archivo especial de bloqueo para proteger el acceso a un archivo que pretende truncar abriéndolo en modo de escritura (con un argumento "w" o "w+" a fopen()).

Aviso

flock() no trabajará sobre NFS y muchos otros sistemas de archivos en red. Revise la documentación de su sistema operativo para más detalles.

En algunos sistemas operativos flock() se implementa al nivel de proceso. Cuando usa una API de servidor multi-hilos como ISAPI, ¡es posible que no pueda depender en flock() para proteger archivos contra otros scripts PHP corriendo en hilos paralelos en la misma instancia de servidor!

flock() no es soportado en sistemas de archivos anticuados como FAT y sus derivados, y por lo tanto siempre devolverá FALSE bajo tales entornos (esto es especialmente cierto para usuarios de Windows 98).

Web´s ORO

Comparativas

peliculas - musica - trucos
telefonos moviles
directorio de programacion
Web´s PLATA

logiciel gratuit
programas para bajar
ocio y entretenimiento
eliminar virus