Problème avec file_put_contents - PHP - Programmation
Marsh Posté le 11-01-2012 à 02:01:49
Tu es sûr que tu veux file_put_contents et file_get_contents dans des loupes ?
Étant donné que la fonction file_get_contents rappatrie l'intégralité du fichier, ce n'est pas nécessaire. Peut-être pensais-tu utiliser fread() ?
Marsh Posté le 18-09-2012 à 16:20:36
Slt, j'ai le même problème avec un de mes site. Le bug arrive assez rarement. quelqu'un a une solution ?
Marsh Posté le 21-09-2012 à 10:01:25
Dans le script qui lit, le file_get_contents ne va pas vérifier le lock automatiquement. Il faut utiliser une fonction comme [celle-ci http://php.net/manual/fr/function.flock.php#74155 ] pour checker le lock avant lecture.
Marsh Posté le 09-01-2012 à 16:14:19
Bonjour
J'ai un petit soucis avec la fonction file_put_contents.
Je m'explique :
Voici un code :
Ce qui se passe, c'est que parfois (relativement rarement néanmoins), ce qui est écrit dans le fichier n'est pas correct (typiquement j'ai deux accolades fermantes, comme si le contenu précédent n'était pas effacé)
J'ai pensé à un problème d'écritures simultanées, mais le problème est que ce fichier ne peut être écrit que par cette fonction et que cette fonction ne peut être appelée deux fois en même temps. (néanmoins je peux avoir une lecture (via une fonction appelée par un autre client) et une écriture via cette fonction en simultané)
Auriez vous une idée du problème (ou de comment le résoudre ?)
Merci d'avance !
EDIT :
Je n'ai toujours pas résolu le problème
Après quelques tests, j'ai néanmoins remarqué le soucis suivant :
Voilà deux scripts php queje fais tourner en même temps :
Donc je fais tourner les deux en même temps et le script lecture et le script lecture s'arrête quasi immédiatement, me montrant la chaine de caractère vide ...
Alors que selon moi, le LOCK_EX aurait du empêcher cela !
EDIT EDIT : en rajoutant : " && strlen($data)!=0) et en faisant tourner ces deux scripts en parallèle, j'ai obtenu
, ce code permet donc de reproduire le bug
Message édité par nisalon_caje le 10-01-2012 à 23:56:16