classe de cache avec fichiers et accès concurents

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : classe de cache avec fichiers et accès concurents

classe de cache avec fichiers et accès concurents

par jojolapine » 01 mars 2008, 22:04

Bonjour à tous,
J'ai développé il y a quelques temps une classe de cache et j'ai refeuilleter par hasard "PHP 5 avancé" et j'ai relus le chapitre sur les accès concurrents au fichier en écriture et en lecture...
Et là je me dit que je n'ai rien fait pour gérer celà dans classe de cache (qui fonctionne avec des fichiers, vous vous en doutez ;) ).
Mais je en comprend pas trop comment ça marche...
Je voulais utiliser flock() pour pallier à mon problème, mais je ne suis pas sûr du "comment"...

Première question, est-ce qu'il suffit d'utiliser flock() lorsque j'écrit dans mes fichiers (et si un accès en écriture est demandé, il sera refusé!), ou est-ce qu'il faut l'utiliser même en lecture?

Si oui est-ce qu'il suffit que je remplace
if(!file_put_contents($file,$content)){
//pas ok
} else {
//ok
} 
par
$fp=fopen('fichier');
flock($fp,LOCK_EX);
if(/*écriture*/){
//ok
} else {
// pas ok
}
flock($fp,LOCK_UN);
fclose($fp);
Voilà, merci de m'éclairer un peu sur la marche à suivre ;)
parce que je patauge grave! :langue: