Ce script permet de récupérer tout les fichiers qui ont été posés sur un serveur depuis la dernière sauvegarde.
Les fichiers sont rassemblés dans un fichier Zip qui est proposé au téléchargement en fin de script.
Il faut le paramétrer en lui indiquant les repertoires à scanner (il fera aussi les sous repertoires) et le repertoire de destination.
Un fichier de conf est géré par le script. Ce fichier contient juste le timestamp de la dernière sauvegarde. Ce qui permet au sscript de savoir depuis quand la sauvegarde n'a pas été faite.
Pensez a supprimer le fichier zip créé aprés l'éxécution du script sous peine de vous retrouver avec un tas d'espace occupé pour rien.
Conclusion :
Améliorations possibles :
Améliorer le paramétrage (par interface ?) des repertoire et de la dernière sauvegarde.
Si le script est trop long, on risque un timeout.
La solution serait du type : une iframe scanne un repertoire, puis quand elle à finis, elle donne à la fenetre mere la liste des fichiers à recuperer. quand le fenetre mere recupere une nouvelle liste, elle indique à sa fille (l'iframe) qu'il faut scanne run autre repertoire. J'ai déjà un script similaire. Mais il faudrait l'adapter.
Je utilisé la librairie pclzip.lib.php,v 1.34 (
http://www.phpconcept.net) pour la compression.
Commentaires
Serait ce pas mieux d'utilise, filemtime qui permet de connaitre la date de derniere modification du fichier
http://fr.php.net/manual/fr/function.filemtime.php
-- En début de script, met : set_timeout(0);
>> La solution serait du type : une iframe scanne un repertoire, puis quand elle à finis, elle donne à la fenetre mere la liste des fichiers à recuperer. quand le fenetre mere recupere une nouvelle liste, elle indique à sa fille (l'iframe) qu'il faut scanne run autre repertoire. J'ai déjà un script similaire. Mais il faudrait l'adapter.
-- Si tu parles de trucs en temps réels, essaye le XMLHTTPRequest.
Tu as d'ailleurs une très bonne source qui utilise ça.
http://www.phpcs.com/code.aspx?ID=32681
déjà là, un filemtime ne sera plus suffisant.
De plus pour les tests, il est interessant de pouvoir modifier la donnée dans le fichier.
Donc définitivement, non, pas de filemtime.
Désolé.
Réponse à Naixn :
Je vais essayer le set_timeout(0), mais je n'ai pas encore ce genre de problème. C'est juste une extrapolation des problèmes que pourraient rencontrer certains (repertoires contenant moults fichier).
Pour le script en temps réel, Je vais me pencher sur les XmlHttpRequest que je ne connaissais pas, ca a l'air pas mal comme principe. Merci de l'info.
Je t'ai enlevé deux points pour les petits manques.
Tu devrais faire une fonction avec en paramètres : $dossiers_a_lister (+ fonction qui enlève le slash de fin pour pas avoir deux / pour les sous répertoires), $nom_de_larchive (avec le nom du repertoire + creer celui-ci s'il existe pas (voir les umask() + chmod()), $date_maximum_de_modif_des_fichiers
Après ca je pense que ca vaudra un bon 10 ;)
Tu devrais faire une option pour pouvoir enregistrer la sauvegarde en format TAR (gz).
Tu devrais aussi faire un array pour les dossiers que l'on veux pas sauvegarder!
Tiens moi au courant STP c'est urgent!
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.