classe de cache avec fichiers et accès concurents

ViPHP
ViPHP | 3607 Messages

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: