1- en gros si tu ouvres ton fichier avec "a" ou "r" tu peux faire un flock() directement sur le fichier que tu veux manipuler. Si tu veux l'ouvrir avec "w" tu te met d'accord avec toi même sur un fichier annexe qui ne te sert qu'au verrouillage et tu l'utilise pour flock().
Ca ressemble à quelque chose du genre (bloquant exclusif):
$dest = 'monfichier' ;
$lock = $dest.'.lock' ;
$fl = fopen($lock, "w") ;
flock($fl, LOCK_EX) ;
// à partir de là je suis sûr d'être seul
$fp = fopen($dest, "w") ;
// manipulation sur $fp
fclose($fp) ;
flock($fl, LOCK_UN) ;
fclose($fl) ;
[^] # Re: Solutions
Posté par Éric (site web personnel) . En réponse au message PHP: Lock sur le system de fichier ?. Évalué à 2.
Ca ressemble à quelque chose du genre (bloquant exclusif):
$dest = 'monfichier' ;
$lock = $dest.'.lock' ;
$fl = fopen($lock, "w") ;
flock($fl, LOCK_EX) ;
// à partir de là je suis sûr d'être seul
$fp = fopen($dest, "w") ;
// manipulation sur $fp
fclose($fp) ;
flock($fl, LOCK_UN) ;
fclose($fl) ;
-3- http://fr2.php.net/manual/en/ref.sem.php(...)