2009-06-05 7 views
0

Je joue autour avec des informations de fichier en php et je me demande s'il est possible de faire ce qui suit:comment créer une sauvegarde d'un fichier une fois que celui en cours est modifié en utilisant php

une fois qu'un fichier est changé obtenir le contenu du fichier, puis mettre le contenu du fichier dans un autre fichier.

un peu comme un «système de sauvegarde». Une fois que vous avez apporté une modification au fichier, un doublon est créé, chaque modification apportée au fichier d'origine écrase celle en double.

J'essaye de faire ceci avec le temps de stockage dans le DB, est-ce possible? je ne sais pas ce qu'il y a à tester contre?

plus clairement, je voudrais faire ce qui suit: exécuter un script une fois qu'un fichier est specifeced modifié sur le serveur

Répondre

0

Utilisez un système de contrôle de version, peut-être?

+0

qui ne fonctionne pas, ce qui est plus d'un exercice d'apprentissage. et ne serait-ce pas impliquer l'installation d'une forme de sw sur mon système? – SkyLar

0

La question est un peu claire. Selon la façon dont le fichier a été modifié, votre solution va varier. Je veux dire, si le fichier est en cours de modification via FTP ou directement sur le serveur via un terminal, je suppose que vous pourriez exécuter un cronjob pour vérifier la date de mod sur le fichier de temps en temps. Si l'heure du dernier changement de fichier est supérieure à l'heure de modification du fichier notée précédemment, exécutez un script pour effectuer la copie (voir ci-dessous). Si la modification du fichier est effectuée par un script php à la suite d'une action de l'utilisateur, il vous suffit d'exécuter un autre script pour effectuer la sauvegarde (voir ci-dessous).

eu lieu la dernière modification des fichiers
donc vous a demandé comment stocker la dernière fois mod pour la comparaison. Vous pouvez le faire avec une base de données, mais si c'est la seule chose que vous avez besoin de stocker et qu'il n'y aura pas beaucoup de fichiers, alors vous voudrez peut-être aller à la route du fichier texte. Dans les deux cas, l'alg de base. serait d'avoir une table de fichiers avec des colonnes filepath, modification_time (temps unix). Chaque fois que vous vérifiez les modifications sur le système de fichiers, maintenez le temps du mod actuel. Comparez-le à l'heure du mod précédente (s'il en existe une). S'il n'y a pas d'heure de mod précédente ou s'il n'y a pas d'enregistrement dans la base de données pour le fichier, ajoutez/mettez à jour l'enregistrement avec l'heure de mod actuelle et incluez ce fichier pour exécuter le script de copie.

La copie Script
Le script à exécuter une fois que vous avez compris qu'un fichier a changé est vraiment un appel à la fonction de php copie en vous assurant que vous disposez des autorisations sur la destination de la copie.

Questions connexes