Services webmasters
Partenaires
Jeux concours gratuits
 
filetype
<<<
flock fnmatch
>>>

7.29 Système de fichiers
7 Index des fonctions
 Manuel PHP

Introduction
Pré-requis
Installation
Configuration à l'exécution
Types de ressources
Constantes prédefinies
Voir aussi
basename
chgrp
chmod
chown
clearstatcache
copy
delete
dirname
disk_free_space
disk_total_space
diskfreespace
fclose
feof
fflush
fgetc
fgetcsv
fgets
fgetss
file_exists
file_get_contents
file_put_contents
file
fileatime
filectime
filegroup
fileinode
filemtime
fileowner
fileperms
filesize
filetype
->flock
fnmatch
fopen
fpassthru
fputs
fread
fscanf
fseek
fstat
ftell
ftruncate
fwrite
glob
is_dir
is_executable
is_file
is_link
is_readable
is_uploaded_file
is_writable
is_writeable
link
linkinfo
lstat
mkdir
move_uploaded_file
parse_ini_file
pathinfo
pclose
popen
readfile
readlink
realpath
rename

7.29.39 flock()Verrouille le fichier

[ Exemples avec flock ]   PHP 3>= 3.0.7, PHP 4

bool  flock ( resource   handle , int   operation , int   &wouldblock )

PHP dispose d'un système complet de verrouillage de fichiers. Tous les programmes qui accèdent au fichier doivent utiliser la même méthode de verrouillage pour qu'il soit efficace.

flock agit sur le fichier handle qui doit avoir été ouvert au préalable. operation est une des valeurs suivantes :

  • Acquisition d'un verrou en lecture : operation = LOCK_SH (valeur de 1 pour les versions plus anciennes que PHP 4.0.1).
  • Acquisition d'un verrou exclusif en écriture : operation = LOCK_EX (valeur de 2 pour les versions plus anciennes que PHP 4.0.1).
  • Libération d'un verrou partagé ou exclusif, operation = LOCK_UN (valeur de 3 pour les versions plus anciennes que PHP 4.0.1).
  • Si vous voulez que flock ne se bloque pas durant le verrouillage, ajoutez LOCK_NB à operation (valeur de 4 pour les versions plus anciennes que PHP 4.0.1).

flock permet de réaliser un système simple de verrous écriture / lecture, qui peut être utilisé sur n'importe quelle plate-forme (Unix et Windows compris). Le troisième paramètre optionnel vaut par défaut TRUE , si le verrou doit bloquer le script (condition d'erreur EWOULDBLOCK).

Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.

Note

Comme flock requiert un pointeur de fichier, vous aurez peut être à utiliser un verrou spécial pour protéger l'accès au fichier que vous voulez tronquer en l'ouvrant en mode d'écriture (avec "w" ou "w+" comme argument de fopen ).

Attention

flock ne fonctionne pas sur NFS ou sur les autres systèmes de fichiers réseaux. Vérifiez la documentation de votre système d'exploitation pour plus de détails.

Sur certains systèmes d'exploitation, flock est implémenté au niveau processus. Lorsque vous utilisez une API multi-thread comme ISAPI, vous risquez de ne pas pouvoir avoir confiance en flock pour protéger vos fichiers contre d'autres scripts PHP qui fonctionnent en paralelle sur d'autres thread du même serveur.

flock n'est pas supporté sur les vieux systèmes de fichiers comme FAT et ses dérivés, et elle retournera forcément FALSE sous ces environnement (ceci est particulièrement vrai pour les utilisateurs de Windows 98).

<< flock >>
filetype Système de fichiers fnmatch
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -