[PHP] pblm pour Parser un dossier opendir
Résolu
cedfid
-
kij_82 Messages postés 4089 Date d'inscription Statut Contributeur Dernière intervention -
kij_82 Messages postés 4089 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai un probleme sur le code ci-dessous
Il parse les fichiers photos dans un dossier et en affiche une au hazard
Pour détailler le script, je recupere le nombre de fichier dans le dossier, et je tombe donc sur une des variable au hazard en prenant en compte en limite, le nombre de fichier dans le dossier.
Seulement desfois je tombe sur une image impossible a ouvrir, je me dis que peux etre il veux ouvrir un fichier caché type thumb.db mais je pense avoir bloqué au jpg..
Pouvez vous m'aider ? merci
J'ai un probleme sur le code ci-dessous
Il parse les fichiers photos dans un dossier et en affiche une au hazard
Pour détailler le script, je recupere le nombre de fichier dans le dossier, et je tombe donc sur une des variable au hazard en prenant en compte en limite, le nombre de fichier dans le dossier.
Seulement desfois je tombe sur une image impossible a ouvrir, je me dis que peux etre il veux ouvrir un fichier caché type thumb.db mais je pense avoir bloqué au jpg..
Pouvez vous m'aider ? merci
if (empty($filename)){ //nom du répertoire contenant les images à afficher $nom_repertoire = "uploads"; // extensions acceptées $extensions_ok = array("jpg","gif","png","jpeg", "JPG", "GIF", "PNG", "JPEG"); //on ouvre le repertoire $dossier = opendir($nom_repertoire); $i = 0; $photos = array(); //on les stocke les noms de fichiers images dans un tableau while ($fichier = readdir($dossier)) { if(in_array(strtolower(substr($fichier, -3)),$extensions_ok)) $photos[] = $fichier; } //on ferme le répertoire closedir($dossier); $count_photos = count($photos); $count_photos = rand(0,$count_photos); echo "<img src=\"uploads/$photos[$count_photos]\" id=\"show\" >"; } else { echo " <img src=\"uploads/$filename.jpg\" width=\"216\" /> "; }
A voir également:
- [PHP] pblm pour Parser un dossier opendir
- Dossier appdata - Guide
- Impossible de supprimer un dossier - Guide
- Mettre un mot de passe sur un dossier - Guide
- Dossier rar - Guide
- Comment dézipper un dossier - Guide
1 réponse
Bonjour,
Le mieux dans ce genre de cas, je veux dire, quand on est pas certain de son algorithme, c'est de mettre des traces un peu partout pour analyser où passer ton programme et avec quelle valeur pour les variables liées à ton problème.
Tu lance par la suite ton programme (ou tu visualise ta page dans le cas d'un site web) plusieurs fois, simulant les cas OK et les cas KO afin de comprendre ce qui peut clocher.
Applique ça à ton problème courant en affichant:
- la liste des fichiers qu'il teste et qui sont détectés comme ayant une bonne extension
- après ta boucle de recherche, le nombre d'images trouvée (taille du tableau donc), ainsi que l'indice généré "aléatoirement", et enfin, un aperçu de la valeur $photos[$count...] (tu peux aussi faire clic droit sur ton image-> propriété pour voir le chemin d'accès à l'image et ainsi déterminer cette valeur et voir si c'est le nom et chemin d'accès à une vraie image ou non, et ainsi savoir qu'est ce qui ne tourne pas rond dans ton programme.
Au besoin donne nous ici les traces qui s'affichent après en avoir mis.
Le mieux dans ce genre de cas, je veux dire, quand on est pas certain de son algorithme, c'est de mettre des traces un peu partout pour analyser où passer ton programme et avec quelle valeur pour les variables liées à ton problème.
Tu lance par la suite ton programme (ou tu visualise ta page dans le cas d'un site web) plusieurs fois, simulant les cas OK et les cas KO afin de comprendre ce qui peut clocher.
Applique ça à ton problème courant en affichant:
- la liste des fichiers qu'il teste et qui sont détectés comme ayant une bonne extension
- après ta boucle de recherche, le nombre d'images trouvée (taille du tableau donc), ainsi que l'indice généré "aléatoirement", et enfin, un aperçu de la valeur $photos[$count...] (tu peux aussi faire clic droit sur ton image-> propriété pour voir le chemin d'accès à l'image et ainsi déterminer cette valeur et voir si c'est le nom et chemin d'accès à une vraie image ou non, et ainsi savoir qu'est ce qui ne tourne pas rond dans ton programme.
Au besoin donne nous ici les traces qui s'affichent après en avoir mis.
J'ai testé en rajoutant
a la fin de ma page, et lorsque ma page bug, la valeur est NULL
je ne sais pas quoi faire d'autre
Le problème doit donc se situer lorsque tu remplis ton tableau.
Je serai toi, après avoir rempli le tableau, je tenterai d'en affiche l'intégralité de son contenu, on sera alors fixé si cela vient de là ou non. Et si c'est le cas, à toi de jouer pour réfléchir et savoir d'où vient le problème de remplissage. Si ce n'est pas le cas, faut voir autre chose.
si la valeur en NULL il affiche la photo numéro 1 comme ca je connais pas le bug mais au moins il est réglé :)
Ca risque de te retomber sur le coin du nez si tu ne le règle pas ;)