Fonction récursive lister répertoire FTP

Résolu/Fermé
Bedave Messages postés 2 Date d'inscription mardi 27 novembre 2012 Statut Membre Dernière intervention 27 novembre 2012 - 27 nov. 2012 à 14:17
Bedave Messages postés 2 Date d'inscription mardi 27 novembre 2012 Statut Membre Dernière intervention 27 novembre 2012 - 27 nov. 2012 à 15:57
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.
A voir également:

1 réponse

Bedave Messages postés 2 Date d'inscription mardi 27 novembre 2012 Statut Membre Dernière intervention 27 novembre 2012
27 nov. 2012 à 15:57
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.
0