J'utilise ce script pour afficher mon diaporama.
Code : Tout sélectionner
<?php
error_reporting(E_ALL &~E_NOTICE);
$b_diapo = false;
$texte = '';
$filtre = '\.(jpg|gif|png)'; // régex d'identification des extensions de diapo
$largeur = '920'; // largeur d'affichage des diapo en pixels permet d'ajuste l'image dans le cadre *************************
if ( (isset($_GET['dir'])) && (isset($_GET['nr'])) ) {
$dir = $_GET['dir'];
$nr = $_GET['nr'];
$b_diapo = true;
}
if (!($b_diapo)) {
$texte .= '<form action="'.$_SERVER['PHP_SELF'].'" method="get" name="diaporama">'
.'<input type="hidden" name="nr" value="0" />'
.'<input type="text" name="dir" value=""/>'
.'<input type="submit" value="Valider"/>'
.'</form>'
;
}
else {
if ( $handle = opendir($dir) ) {
while (false !== ($file = readdir($handle))) {
if (preg_match('/'.$filtre.'/s',strtolower($file))) {
$diapos[] = $file; // élément 0 du tableau puis suivants ;
}
}
closedir($handle);
} else {echo $dir.' NON TROUVE ';}
// 2. Si j'ai des diapos
if (isset($diapos[0])) {
$max = count($diapos); // nombre de diapo trouvées
if (!($nr<$max)) { // au cas ou on m'a oté des diapos entre-temps, je réduit le N°
$nr = $max-1;
}
$texte .= '<ul>';
$texte .= '<li><span class="pre"><a href="'
.$_SERVER['PHP_SELF'].'?dir='.$dir.'&nr='.strval(($nr+($max-1))%$max).'" >'
.'<< Précédente '
.'</a></span></li>';
$texte .= ' ';
// Retour au module d'où je venais (event. modifier l'url)
$texte .= '<li><span class="re"><a href="
http://www.lesvieuxtracteursdescollines.be/index.php" >'
.' ^ ^ Retour ^ ^ '
.'</a></span></li>';
$texte .= ' ';
// (nr + 1) modulo max = n° suivant
$texte .= '<li><span class="sui"><a href="'
.$_SERVER['PHP_SELF'].'?dir='.$dir.'&nr='.strval(($nr+1)%$max).'" >'
.' Suivante >>'
.'</a></span></li>';
$texte .= '</ul>';
$texte .= '<ol>';
// 3. J'affiche la diapo
$texte .= '<img src="'.$dir.'/'.$diapos[$nr].'" alt="" width="'.$largeur.'" />';
$texte .= '</ol>';
}
else { echo $_GET['dir'].' vide';}
// NB. l'utilisation de $_SERVER['PHP_SELF'] (moi-même) comme url
// permet de faire fonctionner ce script quelque soit son nom
}
?>il fonctionne très bien, mais ne tient pas compte de l'ordre des photos.
je ne sais pas donner un ordre de défilement a mes photos, j'ai même essayer de remplacer les noms des fichiers photos par des chiffres, rien ne marche
est il possible d'ordonner les photos ?
merci d'avance
alain