Dossier d'images aléatoire
Posté : 27 avr. 2012, 10:19
Bonjour
Je suis débutant en php. J'essaie petit a petit d'en comprendre le sens. Je voudrais à partir d'un script afficher toutes les images d'un répertoire de manière aléatoire.
Mon dossier /photos contient des photos.
J'ai mis ce que je pensais juste, mais j'arrive a ne plus avoir d'erreurs, juste une page blanche. Pas pratique pour me guider du coup
Voici la copie de mon fichier.
Merci de m'éclairer que je comprenne un peu ce qui ne va pas.
Au passage si vous avez un script de ce type qui fonctionne, je suis preneur ! C'est le 3e que j'essaie sans succès
EDIT :
Je viens aussi d'esayer ce bout de code à la place. Ca me sort 1 image mais brisée (la petite icone grise qui montre que le lien d'image est brisé)
Pfffff trop dur quand on est débutant
Je suis débutant en php. J'essaie petit a petit d'en comprendre le sens. Je voudrais à partir d'un script afficher toutes les images d'un répertoire de manière aléatoire.
Mon dossier /photos contient des photos.
J'ai mis ce que je pensais juste, mais j'arrive a ne plus avoir d'erreurs, juste une page blanche. Pas pratique pour me guider du coup
Voici la copie de mon fichier.
Code : Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>
<body>
<?php
// On stock le répertoire dans une variable
// on l'utilisera de nouveau par la suite dans le code
$dir = "./photos/";
// On ouvre le répertoire pour se préparer
// à le lire
$opened_dir = opendir($dir);
// On vérifie que l'ouverture du répertoire à bien
// fonctionnée, sinon on arrête là....
if(!$opened_dir) die('Erreur');
// On créé un tableau destinné à contenir la
// liste des images disponibles
$image_list = array();
// On créé une variable $i pour parcourir le tableau
// ainsi créé
$i = 0;
// On boucle tant que l'on peut y lire queque chose
while ( ($file = readdir($opened_dir)) !== FALSE )
{
// On contrôle que nous sommes bien en présence d'un
// fichier et non pas d'un répertoire
if( is_file($dir.$file) )
{
// On stock l'image dans le tableau d'image
$image_list[$i] = $file;
// On incrémente la variable de parcourt de 1
// pour ne pas écraser l'enregistrement avec
// le suivant
$i++;
}
}
// Et on finit par fermer le répertoire ouvert
closedir($opened_dir);
?>
</body>
</html>Au passage si vous avez un script de ce type qui fonctionne, je suis preneur ! C'est le 3e que j'essaie sans succès
EDIT :
Je viens aussi d'esayer ce bout de code à la place. Ca me sort 1 image mais brisée (la petite icone grise qui montre que le lien d'image est brisé)
Code : Tout sélectionner
<?php
$max = 8; //nombre d'images totale dans ton répertoire.
$i = mt_rand(8, $max); //on sélectionne au pif
$ext = 'jpg'; //extension de tes images.
$images = 'photos'; //répertoires des images
echo '<img src="'.$images.'/'.$i.'.'.$ext.'">';
// tpl->assign('images', '<img src="images/',$a,'',$i,'.',$ext,''); Si tu passe via moteur tpl
?>