• [^] # Re: Solutions

    Posté par (site web personnel) . En réponse au message PHP: Lock sur le system de fichier ?. Évalué à 2.

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


    -3- http://fr2.php.net/manual/en/ref.sem.php(...)