Fonction récursive lister répertoire FTP [Résolu/Fermé]

Signaler
Messages postés
2
Date d'inscription
mardi 27 novembre 2012
Statut
Membre
Dernière intervention
27 novembre 2012
-
Messages postés
2
Date d'inscription
mardi 27 novembre 2012
Statut
Membre
Dernière intervention
27 novembre 2012
-
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.

1 réponse

Messages postés
2
Date d'inscription
mardi 27 novembre 2012
Statut
Membre
Dernière intervention
27 novembre 2012

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.