PHP pour afficher des images aleatoirement

Fermé
tonguim - 23 août 2005 à 21:17
 tonguim - 24 août 2005 à 18:07
Bonjour,

le code ci-bas permet d'afficher des imges de façon aleatoire. J'obtiens les erreurs suivantes lorsque je l'execute:

Notice: Undefined variable: names in c:\program files\autres\easyphp1-7\www\testimages\rotateimage.php on line 4

Notice: Undefined offset: 7 in c:\program files\autres\easyphp1-7\www\testimages\rotateimage.php on line 8

Warning: getimagesize(mhermann5.JPG): failed to open stream: No such file or directory in c:\program files\autres\easyphp1-7\www\testimages\rotateimage.php on line 21


voici le code en question:

<?php
   $folder=opendir("images");
   while ($file = readdir($folder))
      $names[count($names)] = $file;
      closedir($folder);
      sort($names);
      $tempvar=0;
     for ($i=0;$names[$i];$i++)
	 {
      $ext=strtolower(substr($names[$i],-4));
        if ($ext==".jpg"||$ext==".JPG"||$ext==".gif"||$ext=="jpeg"||$ext==".png")
		{
               $names1[$tempvar]=$names[$i];$tempvar++;
        }
      }

   srand ((double) microtime() * 10000000);

   $rand_keys = array_rand ($names1, 2);

   $hasnut=$names1[$rand_keys[0]];

   $dimensions = GetImageSize($hasnut);

   if (isset($pic)){header ("Location: $hasnut");}
   else {echo "<img src=\"$hasnut\" $dimensions[3]>";}
?>


Merci
A voir également:

1 réponse

StreM Messages postés 515 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 28 février 2007 124
24 août 2005 à 09:40
Woah ! tu te prends le chou pour pas grand chose !
J'aime pas donner les trucs tout fait, mais bon...

$rep = "images";
$dir = opendir($rep);
while ($File = readdir($dir)){
$ext=strtolower(substr($File,-4)); // pas génial...
	if($ext==".jpg"||$ext==".JPG"||$ext==".gif"||$ext=="jpeg"||$ext==".png") {
		$input[] = "$File";
    }
}
closedir($dir);
srand ((double) microtime() * 10000000);
$images = array_rand ($input, 2);
$ton_image = $input[rand(0,(count($input)-1))]; 
echo $ton_image;
1
Merci Sterm,

j'ai essaye ta solution, en modifiant la derniere ligne de cette maniere <codeecho "<img src=\"$my_image\">";code> pour afficher les images, et pas seulement les noms des images ainsi que le propose ton script. Ma modification ne fonctionne pas; quelle est la syntaxe pour specifier le chemin qui mene au fichier image? Merci
0
StreM Messages postés 515 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 28 février 2007 124
24 août 2005 à 17:58
echo "<img src=\"$rep/$my_image\">";
0
tonguim > StreM Messages postés 515 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 28 février 2007
24 août 2005 à 18:07
Merci Sterm,

en fait j'avais oublie de preciser le repertoire qui contient les images;
echo "<img src=\"$rep/$my_image\">";
0