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).
|
|