Est-il possible de détecter la modification d’un fichier en PHP?
En particulier, je cherche quand le fichier est mis à jour, mais créer / enregistrer / etc. serait bien.
En fin de compte, j’espère déclencher une sorte d’action sur mon serveur pour envoyer une alerte par courrier électronique ou quelque chose de similaire lorsqu’un fichier est mis à jour.
filemtime
devrait faire ce que vous voulez
Pour une approche sans cron-job, vous pouvez consulter ext/inotify
. Vous enregistrez un callback et placez le processus entier dans une boucle de lecture, qui déclenche toujours le rappel, si un événement (par exemple IN_CLOSE_WRITE
) se produit.
Voir filemtime
. Il existe des fonctions similaires pour vérifier l’heure de création, etc.
Si vous voulez vérifier si le fichier a été modifié, vous pouvez enregistrer le hachage md5 des fichiers:
http://php.net/manual/en/function.md5-file.php
Voici la même question: Regarder un dossier PHP sur Windows
Avec ruby, python ou d’autres langages, vous pouvez enregistrer un observateur sur le système de fichiers, vous avez donc un push et pas d’information. Mais ce n’est pas possible avec PHP.