Lister efficacement le contenu d'un FTP
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
J'ai un FTP avec de multiples dossiers et sous-dossier remplis de fichiers que j'aimerais lister dans un seul et unique fichier.
J'ai mis la main sur ce code mais le problème est qu'il liste TOUT les dossiers alors que je voudrais par exemple restreindre le champ d'action sur certains dossiers qui ne doivent pas être listés.
Merci d'avance pour votre aide.
Le code:
...
<body>
<?php
function ScanDirectory($Directory){
$MyDirectory = opendir($Directory) or die('Erreur');
while($Entry = @readdir($MyDirectory)) {
if(is_dir($Directory.'/'.$Entry)&& $Entry != '.' && $Entry != '..') {
echo '<ul>'.$Directory;
ScanDirectory($Directory.'/'.$Entry);
echo '</ul>';
}
else {
echo '<li>'.$Entry.'</li>';
}
}
closedir($MyDirectory);
}
ScanDirectory('.');
?>
</body>
</html>
J'ai un FTP avec de multiples dossiers et sous-dossier remplis de fichiers que j'aimerais lister dans un seul et unique fichier.
J'ai mis la main sur ce code mais le problème est qu'il liste TOUT les dossiers alors que je voudrais par exemple restreindre le champ d'action sur certains dossiers qui ne doivent pas être listés.
Merci d'avance pour votre aide.
Le code:
...
<body>
<?php
function ScanDirectory($Directory){
$MyDirectory = opendir($Directory) or die('Erreur');
while($Entry = @readdir($MyDirectory)) {
if(is_dir($Directory.'/'.$Entry)&& $Entry != '.' && $Entry != '..') {
echo '<ul>'.$Directory;
ScanDirectory($Directory.'/'.$Entry);
echo '</ul>';
}
else {
echo '<li>'.$Entry.'</li>';
}
}
closedir($MyDirectory);
}
ScanDirectory('.');
?>
</body>
</html>
A voir également:
- Lister efficacement le contenu d'un FTP
- Le fichier à télécharger correspond au contenu brut d’un courrier électronique. de quel pays a été envoyé ce message ? - Guide
- Fusionner deux cellules excel en gardant le contenu - Guide
- Word a trouvé du contenu illisible - Guide
- Core ftp - Télécharger - Téléchargement & Transfert
- Typsoft ftp server - Télécharger - Téléchargement & Transfert
8 réponses
Salut.
Déjà pour restreindre, il faut que tu fasse une liste, une règle à respecter.
Soit tu met en dur dans le code soit tu fais à partir d'un fichier. à toi de voir.
Déjà pour restreindre, il faut que tu fasse une liste, une règle à respecter.
Soit tu met en dur dans le code soit tu fais à partir d'un fichier. à toi de voir.
J'ai récupéré ce code php pour faire la liste du contenu de mon ftp, je ne l'ai pas écris. Ainsi j'aimerai savoir comment le modifier pour obtenir ce que j'ai dit avant. Mais je ne sais pas comment écrire le code à cette fin.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je ne connais pas le PHP, mais d'après ce qui est écris, il faut modifier le if.
ça c'est la version en dur, peu souple.
<body> <?php function ScanDirectory($Directory){ $MyDirectory = opendir($Directory) or die('Erreur'); while($Entry = @readdir($MyDirectory)) { if(is_dir($Directory.'/'.$Entry)&& $Entry != '.' && $Entry != '..'&& $Entry != 'rep_a_ignorer1' && $Entry != 'rep_a_ignorer2') { echo '<ul>'.$Directory; ScanDirectory($Directory.'/'.$Entry); echo '</ul>'; } else { echo '<li>'.$Entry.'</li>'; } } closedir($MyDirectory); } ScanDirectory('.'); ?>
ça c'est la version en dur, peu souple.
Oui merci, je vais essayer ca. Mais c'est vrai que lorsque la liste est produite c'est trés peu clair.
Enfin j'éditerais une fois testé, merci.
Hum...je ne sais pas quelle syntaxe utiliser afin d'écrire le répertoire à ignorer.
"/files/jeux" ou "/files/jeux/" ou "files/jeux/" ?
Enfin j'éditerais une fois testé, merci.
Hum...je ne sais pas quelle syntaxe utiliser afin d'écrire le répertoire à ignorer.
"/files/jeux" ou "/files/jeux/" ou "files/jeux/" ?
Je ne sais pas trop. Mais comme . et .. sont notés sans /, je pense qu'il ne faut pas en mettre de trop.
En plus, tu ne balay qu'un répertoire en profondeur à chaque passage, donc je mettrai juste 'jeux' à ta place. Mais si tu veux lister un répertoire jeux qui n'est pas dans files/ il va falloir faire un poil plus compliquer.
En plus, tu ne balay qu'un répertoire en profondeur à chaque passage, donc je mettrai juste 'jeux' à ta place. Mais si tu veux lister un répertoire jeux qui n'est pas dans files/ il va falloir faire un poil plus compliquer.
Oui ca fonctionne.
Je poste le code voulu au cas ou quelqu'un voudrait faire la même chose :)
A insérer dans les balises <body> d'un document .php ce code listera le contenu d'un répertoire d'un serveur incluant les sous-dossiers. Ici les dossiers Jeux et Games ne seront pas listés:
<?php
function ScanDirectory($Directory){
$MyDirectory = opendir($Directory) or die('Erreur');
while($Entry = @readdir($MyDirectory)) {
if(is_dir($Directory.'/'.$Entry)&& $Entry != '.' && $Entry != '..'&& $Entry != 'Jeux' && $Entry != 'Games') {
echo '<ul>'.$Directory;
ScanDirectory($Directory.'/'.$Entry);
echo '</ul>';
}
else {
echo '<li>'.$Entry.'</li>';
}
}
closedir($MyDirectory);
}
ScanDirectory('.');
?>
Je poste le code voulu au cas ou quelqu'un voudrait faire la même chose :)
A insérer dans les balises <body> d'un document .php ce code listera le contenu d'un répertoire d'un serveur incluant les sous-dossiers. Ici les dossiers Jeux et Games ne seront pas listés:
<?php
function ScanDirectory($Directory){
$MyDirectory = opendir($Directory) or die('Erreur');
while($Entry = @readdir($MyDirectory)) {
if(is_dir($Directory.'/'.$Entry)&& $Entry != '.' && $Entry != '..'&& $Entry != 'Jeux' && $Entry != 'Games') {
echo '<ul>'.$Directory;
ScanDirectory($Directory.'/'.$Entry);
echo '</ul>';
}
else {
echo '<li>'.$Entry.'</li>';
}
}
closedir($MyDirectory);
}
ScanDirectory('.');
?>