Fonction récursive lister répertoire FTP
Résolu
Bedave
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Bedave Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bedave Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je cherche une fonction php qui puisse lister tous les répertoires, sous répertoires et fichiers d'un répertoire via FTP.
Je ne trouve que des idées permettant de lister un répertoire (et seulement lui), ce que je parviens à faire, mais rien qui permette de voir l'intégralité d'un répertoire. Il s'agit de récursivité.
L'idée de départ est de scanner un répertoire, d'y repérer les fichiers, de voir à quelle date ce fichier a été modifié, et envoyer un email si la dernière modification date de plus de deux jours. C'est une machine à vérifier que les sauvegardes de sécurité (avec Cobian) se font bien.
Quelqu'un aurait-il un exemple de script à me donner ?
Merci.
Je cherche une fonction php qui puisse lister tous les répertoires, sous répertoires et fichiers d'un répertoire via FTP.
Je ne trouve que des idées permettant de lister un répertoire (et seulement lui), ce que je parviens à faire, mais rien qui permette de voir l'intégralité d'un répertoire. Il s'agit de récursivité.
L'idée de départ est de scanner un répertoire, d'y repérer les fichiers, de voir à quelle date ce fichier a été modifié, et envoyer un email si la dernière modification date de plus de deux jours. C'est une machine à vérifier que les sauvegardes de sécurité (avec Cobian) se font bien.
Quelqu'un aurait-il un exemple de script à me donner ?
Merci.
A voir également:
- Fonction récursive lister répertoire FTP
- Fonction si et - Guide
- Répertoire téléphonique gratuit - Télécharger - Bureautique
- Core ftp - Télécharger - Téléchargement & Transfert
- Typsoft ftp server - Télécharger - Téléchargement & Transfert
- Fonction miroir - Guide
1 réponse
Je me réponds à moi même :
<?
function recursiveDirectories($repertoire){
$conn_id = ftp_connect("********.net");
ftp_login($conn_id,"david","**********");
$element = ftp_nlist($conn_id, $repertoire);
$compteur=count($element);//echo"VERIF compteur : $compteur<br>";
for($i=0;$i<=$compteur-1;$i++){
$cible=$element[$i];
$res = ftp_size($conn_id,$element[$i]);//echo"VERIF res : $res<br>";
$cible=$element[$i];
if($res=="-1"){
recursiveDirectories("./$cible");
}
else{
$time_modif=ftp_mdtm($conn_id, $cible);
$intervalle=mktime()-$time_modif;
if($intervalle>=172800){
echo "Fichier vieux de plus de deux jours: $cible $intervalle<br>";
}
if($intervalle<172800){
echo "Fichier récent : $cible<br>";
}
}
}
}
recursiveDirectories('.');
?>
Et ça tourne.
<?
function recursiveDirectories($repertoire){
$conn_id = ftp_connect("********.net");
ftp_login($conn_id,"david","**********");
$element = ftp_nlist($conn_id, $repertoire);
$compteur=count($element);//echo"VERIF compteur : $compteur<br>";
for($i=0;$i<=$compteur-1;$i++){
$cible=$element[$i];
$res = ftp_size($conn_id,$element[$i]);//echo"VERIF res : $res<br>";
$cible=$element[$i];
if($res=="-1"){
recursiveDirectories("./$cible");
}
else{
$time_modif=ftp_mdtm($conn_id, $cible);
$intervalle=mktime()-$time_modif;
if($intervalle>=172800){
echo "Fichier vieux de plus de deux jours: $cible $intervalle<br>";
}
if($intervalle<172800){
echo "Fichier récent : $cible<br>";
}
}
}
}
recursiveDirectories('.');
?>
Et ça tourne.