Lecture répertoire en php
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 -
-
-
-
Super comme sujet ! =)
-
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";
}
} -
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'; }