Bonjour
J'ai un bout de code PHP qui me pose problème, j'aimerais avoir votre avis:
Explication:
Il s'agit d'une méthode dans une classe PHP.
Ce que je veux faire:
1) écrire la chaîne de caractères $data dans un fichier ($this -> savePath)
2) remettre la date de modification du fichier à sa valeur initiale ($this -> dateTime)
Pour voir ce qui se passe, j'ai mis des commandes "echo" dans le code pour tracer l'évolution de la date du fichier.
Ce que je constate:
tout se passe comme prévu, sauf que les traces me donnent 3 fois la même valeur, ce qui n'est pas ce que j'escomptais. "Normalement", la deuxième trace devrait donner une date différente.
Tout se passe comme si la fonction filemtime ne prenait pas en compte le fait que le fichier vient d'être modifié à la ligne précédente.
Votre avis sur la question me serait fort utile!
J'ai un bout de code PHP qui me pose problème, j'aimerais avoir votre avis:
function save($data) {
echo "/* dateTime=", date('Y/m/d H:i:s', $this -> dateTime), " (", $this -> dateTime, ") */\n";
file_put_contents($this -> savePath, $data);
$saveTime = filemtime($this -> savePath);
echo "/* dateTime=", date('Y/m/d H:i:s', $saveTime), " ($saveTime) */\n";
touch($this -> savePath, $this -> dateTime);
$modTime = filemtime($this -> savePath);
echo "/* modTime=", date('Y/m/d H:i:s', $saveTime), " ($modTime) */\n";
}
Explication:
Il s'agit d'une méthode dans une classe PHP.
Ce que je veux faire:
1) écrire la chaîne de caractères $data dans un fichier ($this -> savePath)
2) remettre la date de modification du fichier à sa valeur initiale ($this -> dateTime)
Pour voir ce qui se passe, j'ai mis des commandes "echo" dans le code pour tracer l'évolution de la date du fichier.
Ce que je constate:
tout se passe comme prévu, sauf que les traces me donnent 3 fois la même valeur, ce qui n'est pas ce que j'escomptais. "Normalement", la deuxième trace devrait donner une date différente.
Tout se passe comme si la fonction filemtime ne prenait pas en compte le fait que le fichier vient d'être modifié à la ligne précédente.
Votre avis sur la question me serait fort utile!