afficher images avec une bouclecar nbre variable dans Temps

Eléphant du PHP | 135 Messages

18 févr. 2007, 21:13

bonjour,

J'ai un petit souci d'affichage d'images
J'ai dans un répertoire un certain nombre d'images.
Je doit afficher ces images avec une légende dans un fichier txt (mais peut importe pour le moment).
J'utilise une boucle pour afficher mes images car le nombre va certainnement changer au cours du temps.

Voici le code que j'utilise emprunté sur ce site d'ailleur je crois. (je le rendrais c'est promis :)
	$chemin="imagetest/";
($handle = opendir('imagetest/')) ;
   while (false !== ($file = readdir($handle))) { 

        if ($file !== "." && $file!== ".." ){
	     foreach ( $file as  $num=>$name){
	          echo '<img src="'.$chemin.$name.'" border="0">';
                  echo 'n\'importe quoi mais quelque chose';
	 }}}

closedir ($handle);
J'ai une belle erreur avec foreach.

Warning: Invalid argument supplied for foreach() in c:\program files\easyphp1-8\...BLABLA...\imagetester.php on line 20

Il me semble que c'est parce que la variable file n'est pas un tableau???? me trompe-je???
Coment puis-je le transformer en tableau? ou si c'est pas ça comment faire pour afficher mes images sans qu'elles soient collées à la suite les une après les autres.

Merci beaucoup
David.
Des noeuds au cerveau!

VaN
Mammouth du PHP | 1107 Messages

18 févr. 2007, 21:26

Il me semble que c'est parce que la variable file n'est pas un tableau???? me trompe-je???
Coment puis-je le transformer en tableau? ou si c'est pas ça comment faire pour afficher mes images sans qu'elles soient collées à la suite les une après les autres.
Ouh là. J'ai l'impression que tu confond Tableau PHP et Tableau HTML. Ce n'est pas parce que tes images sont dans un tableau PHP qu'elles vont etre mises en page comme si elles etaient dans un tableau HTML.

Pour declarer un tableau php (un tableau PHP, c'est abstrait, c'est juste pour ordonner tes variables), c'est comme ça :
$file =  array();
Si tu veux afficher tes images dans un tableau html, il faut générer le html grâce à ta boucle php.
echo '<table>';
echo '<tr>';
foreach ( $file as  $num=>$name){
              echo '<td><img src="'.$chemin.$name.'" border="0"></td>';
}
echo '</tr>';
echo '</table>';

Eléphant du PHP | 135 Messages

18 févr. 2007, 21:44

Ha non surtout pas je me suis peut-être mal exprimé mais je souhaite surtout pas mettre mes images dans un tableau html.
ça va pas la tête. :)

Je cheche du coté de la fonction Array

Merci
Des noeuds au cerveau!

Eléphant du PHP | 135 Messages

18 févr. 2007, 21:52

Ha ben voilà une chose quelle est bonne.

Merci VaN.
<?php
	$chemin="imagetest/";
($handle = opendir('imagetest/')) ;
   while (false !== ($file = readdir($handle))) {
    if ($file !== "." && $file!== ".." ){
	$list= array($file);
	foreach ( $list as  $num=>$name){
	 echo '<img src="'.$chemin.$name.'" border="0">';
	 }}}
closedir ($handle);
?> 
A+ :)
Des noeuds au cerveau!