Lecture répertoire en php
csi_bern
Messages postés
72
Statut
Membre
-
avion-f16 Messages postés 19182 Date d'inscription Statut Contributeur Dernière intervention -
avion-f16 Messages postés 19182 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Pourquoi quand j'utilise le code suivant :
Je n'obtient que :
.
..
null.jpg
false
Sachant que le dossier 'fotos' contient 69 fichiers .jpg. A signaler le fichier null.jpg est bien contenu dans ce dossier et est le premier de la liste.
Merci d'avance et meilleures salutations
Pourquoi quand j'utilise le code suivant :
$mydir = 'fotos';
if ($dir = @opendir($mydir)) {
while (($file = readdir($dir)) !== false) {
echo $file.'<br>';
if($file != ".." && $file != ".") {
if ($file == $fichier.'.jpg') {
return "true";
} else {
return "false";
}
}
}
closedir($dir);
}
Je n'obtient que :
.
..
null.jpg
false
Sachant que le dossier 'fotos' contient 69 fichiers .jpg. A signaler le fichier null.jpg est bien contenu dans ce dossier et est le premier de la liste.
Merci d'avance et meilleures salutations
7 réponses
-
Essaye avec ceci :
<?php function controlimage($fichier) { $mydir = 'fotos'; if ($dir = @opendir($mydir)) { while (($file = readdir($dir)) !== false) { if($file != ".." && $file != ".") { if ($file == $fichier.'.jpg') { closedir($dir); return true; } } } closedir($dir); return false; } }-
J'ai fait sous cette forme :
function controlimage($fichier) { $mydir = 'fotos'; if ($dir = @opendir($mydir)) { while (($file = readdir($dir)) !== false) { //echo $file.'<br>'; if($file != ".." && $file != ".") { if ($file == $fichier.'.jpg') { return "true"; } else { return "false"; } } } closedir($dir); } }
avec comme appel de la fonction :echo controlimage('pcod');(pcod.jpg est une image qui existe dans le répertoire photos)
Cependant j'ai false à l'affichage -
-
-
-
-
Je m'étais planté dans l'envoi, mais maintenant c'est complet
-
Vous avez comme résultat la condition du if
.. .
Est-ce que le echo $file.'<br>'; s'affiche correctement ?
Vous pouvez expliquer ce que vous souhaitez faire ici:
if($file != ".." && $file != ".") {
if ($file == $fichier.'.jpg') {
return "true";
} else {
return "false";
}
} -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Salut,
Quel est le but rechercher ?
Si tu souhaites simplement lister le répertoire, il y a une partie inutile dans ce script.
Essaye plutôt avec ceci :<?php if ($handle = opendir('fotos')) { while (false !== ($file = readdir($handle))) { if($file != '.' && $file != '..') { echo $file."<br/>\n"; } } closedir($handle); } -
Le code complet est dans une fonction :
function controlimage($fichier) { $mydir = 'fotos'; if ($dir = @opendir($mydir)) { while (($file = readdir($dir)) !== false) { echo $file.'<br>'; if($file != ".." && $file != ".") { if ($file == $fichier.'.jpg') { return "true"; } else { return "false"; } } } closedir($dir); } }
Le but est d'obtenir true si le fichier $fichier existe dans le répertoiret false sinon (j'ai mis des guillemet autour de true et false dans le code juste pour que les tests m'affiche ça en texte).
Mais je sens que quelqu'un va me sortir une fonction toute faite qui existe déjà pour mon problème. -
If (isset($fichier)) {
echo 'existe'; }
else { echo 'existe pas'; }