Diaporama à partir d'un dossier

SCWeb Messages postés 3 Date d'inscription dimanche 23 février 2003 Statut Membre Dernière intervention 24 juin 2005 - 24 juin 2005 à 14:57
SCWeb Messages postés 3 Date d'inscription dimanche 23 février 2003 Statut Membre Dernière intervention 24 juin 2005 - 24 juin 2005 à 23:15
Bonjour,

Je cherche désespérément un javascript qui permettrait tout simplement d'afficher un diaporama à partir d'un dossier sans avoir besoin d'insérer manuellement le nom des images (le nom est généré dynamiquement par du php). le script doit pouvoir détecter les images et les faire défiler avec un timer. ça existe ? je n'ai pas besoin de boutons précédent, suivant, simplement les images (jpeg ou jpg).
Si quelqu'un à connaissance de l'existence de ce type de script, merci de me le faire savoir.

Cordialement,

SC

4 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
24 juin 2005 à 15:07
Bonjour,
question de nombreuses fois posée...
une solution ==> le langage
utilisé sur le serveur ( asp, php ... )
Cordialement. Bul. ~
0
cs_algori Messages postés 868 Date d'inscription dimanche 26 décembre 2004 Statut Membre Dernière intervention 26 février 2008 1
24 juin 2005 à 17:35
Salut,
Je crois que c'est possible avec ActiveX. Toutefois, ceci est à confirmer car je suis vraiment pas sûr.
Mais ça ne vaut pas un langage côté serveur.
@++
0
SCWeb Messages postés 3 Date d'inscription dimanche 23 février 2003 Statut Membre Dernière intervention 24 juin 2005
24 juin 2005 à 21:51
Bonsoir,
Je vous remercie pour ces infos, mais mes compétences en php sont très limités, j'ai essayé le script dispo à l'adresse suivante :
http://www.asp-php.net/scripts/asp-php/diaporama.php#php

le code de la page php censé afficher les photos est : (elle est placée directement dans le réperoire d'image nommé cinema)

<? // Diaporama 1.0 © D.YVER 05/07/2002
session_register("cinema");


function display($rep,$niv) {
global $cinema;
$dir = opendir($rep);


if($niv>0) {
// Lit les sous-dossiers
while ($f = readdir($dir))
if($f!="." && $f!=".." && !is_file($rep."/".$f))
display($rep."/".$f,$niv-1);
// Si fini, on recommence...
if($cinema=="") display($rep,$niv);
}


while ($f = readdir($dir)) {
// Lit les photos du dossier courant
if(is_file($rep."/".$f))
if(strpos("jpeg.jpg.gif.bmp",substr($f,-4))) {
// Déjà affichée ?
if($cinema == $rep."/".$f) {
// Oui alors prépare pour la suivante
$cinema = "";
} elseif($cinema == "") {
// Affiche la photo
$cinema = $rep."/".$f;
echo $cinema;
break;
}
}
}


closedir($dir);
}
?>
<HTML><HEAD>
<TITLE>Diaporama 1.0</TITLE>
<META http-equiv="refresh" content="5">
</HEAD><center>
'>

<? echo $cinema; ?>

</HTML>

qui correspond exactement à ce que je cherchais, mais il semble ne fontionner qu'en local (bizarre), j'ai simplement changé le nom du répertoire (photo àn l'origine, cinéma maintenant)

j'obtiens le message suivant (pour ceux dont la curiosité irait jusqu'à aller y jeter un oeil !):

Fatal error: Call to unsupported or undefined function session_register() in /web/clients/s/scwebxau/imgs/cinema/diaporama.php on line 2

car j'envisageais de faire afficher la page dans une iframe.

Merci à tous ceux qui auront le temps d'y jeter un oeil.

Cordialement,

SC
0
SCWeb Messages postés 3 Date d'inscription dimanche 23 février 2003 Statut Membre Dernière intervention 24 juin 2005
24 juin 2005 à 23:15
Re-Bonsoir,

Je viens de trouver un javascript qui utilise une fonction php, qui scanne un dossier image, mais il n'y a pas de slideshow automatique, mais 2 boutons "précédent et suivant". Quelqu'un est-il en mesure d'inserer un timer parametrable et de supprimer les deux boutons ?

Voici le script :

<!-- DEBUT DU SCRIPT -->

<SCRIPT LANGUAGE=JavaScript>
ejs_photo = new Array;
<?
$a = 0;
$handle = opendir("imgs");
while (($file = readdir())!=false) {
clearstatcache();
if($file!=".." && $file!=".")
{
echo "ejs_photo[$a] = 'imgs/$file';
";
$a++;
}
}
closedir($handle);
?>
function ejs_aff_photos(num)
{
if(document.getElementById)
{
ejs_fin = "";
if(num!=0)
ejs_fin += "&lt; Précédent&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
if(num!=(ejs_photo.length-1))
ejs_fin += "Suivant &gt;";
document.getElementById("ejs_photo_box").innerHTML = "<CENTER>
"+ejs_fin+"</CENTER>";
}
}
window.onload = new Function("ejs_aff_photos(0)")


</SCRIPT>
<!-- FIN DU SCRIPT -->

Merci,

SC
0
Rejoignez-nous