Diaporama
Affichage automatique de photos en ASP ou en PHP
Retour de vacances... les CD de photos numériques viennent juste d'arriver et les copains veulent admirer les couchers de soleil :) Pas moyen de mettre toutes les photos dans un même dossier pour utiliser la fonction diaporama d'XP... sur chaque CD il y a une photo 001.jpg, 002.jpg, etc... faudrait toutes les renommer ou relancer le diaporama sur chaque dossier :(( alors :
Tester la démo
Version ASP -
Version PHP -
Questions
Préparation
Sur le bureau, un dossier photos partagé (alias PHP), et dedans plusieurs sous-dossiers, 1 par CD (pellicule)
Paramétrage
Le délai par défaut est de 5 secondes entre chaque vue à modifier éventuellement sur la ligne : <META http-equiv="refresh" content="5">
Options
Plusieurs contrôles pourraient être facilement ajoutés, par exemple :
Arrêt sur image
Retour au début du diaporama
Zoom avant/arrière,
etc...
A vous d'y réfléchir d'ici la prochaine version :)
Placer le fichier diaporama.asp dans le dossier photos et tapez dans votre navigateur http://localhost/photos/diaporama.asp
diaporama.asp
<% ' Diaporama 1.1 © D.YVER 11/05/2006 Set FSO = Server.CreateObject("Scripting.FileSystemObject") sub display(rep) dim fc,f set fc = FSO.getFolder(server.MapPath(rep)) ' Lit les sous-dossiers for each f in fc.subfolders display rep & "/" & f.name next ' Lit les photos du dossier courant for each f in fc.files if instr("jpeg.jpg.gif.bmp",right(f.name,4))>0 then ' Déjà affichée ? if session("photo")=rep & "/" & f.name Then ' Oui alors prépare pour la suivante session("photo")="" elseif session("photo")="" then ' Affiche la photo session("photo")=rep & "/" & f.name exit for end if end if next end Sub display "." %> <HTML><HEAD> <TITLE>Diaporama 1.1</TITLE> <META http-equiv="refresh" content="<% If session("photo")<>"" Then response.write 5 _ Else response.write 0%> "> </HEAD><BODY bgcolor=black><center> <TABLE height=100%><TR><TD align=right> <% If session("photo")<>"" Then %> <img src="<%=session("photo")%> " height=400><br> <font size=1 color=white> <%=Mid(session("photo"),InstrRev(session("photo"),"/")+1)%> </font> <%End if%> </TD></TR></TABLE> </BODY></HTML>
Placer le fichier diaporama.php dans le dossier photos et tapez dans votre navigateur http://localhost/photos/diaporama.php
diaporama.php
<? // Diaporama 1.0 © D.YVER 05/07/2002 session_register("photo"); function display($rep,$niv) { global $photo; $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($photo=="") 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($photo == $rep."/".$f) { // Oui alors prépare pour la suivante $photo = ""; } elseif($photo == "") { // Affiche la photo $photo = $rep."/".$f; echo $photo; break; } } } closedir($dir); } ?> <HTML><HEAD> <TITLE>Diaporama 1.0</TITLE> <META http-equiv="refresh" content="5"> </HEAD><BODY bgcolor=black><center> <TABLE><TR><TD align=right> <img src="<? display(".",1); ?> " height=600><br> <font size=1 color=white><? echo $photo; ?> </TD></TR></TABLE> </BODY></HTML>
diaporama-1_1.php
<?php // Diaporama 1.1 © D.YVER 22/12/06 session_start(); function display($rep,$niv) { $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(!@$_SESSION["photo"]) 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(@$_SESSION["photo"] == $rep."/".$f) { // Oui alors prépare pour la suivante $_SESSION["photo"] = ""; } elseif(@$_SESSION["photo"] == "") { // Affiche la photo $_SESSION["photo"] = $rep."/".$f; echo $_SESSION["photo"]; break; } } } closedir($dir); } ?> <HTML><HEAD> <TITLE>Diaporama 1.0</TITLE> <META http-equiv="refresh" content="5"> </HEAD><BODY bgcolor=black><center> <TABLE><TR><TD align=right> <img src="<?php display(".",1); ?> " height=600> <br /><font size=1 color=white> <?php echo @$_SESSION["photo"]; ?> </font> </TD></TR></TABLE> </BODY></HTML>
Allez zou... le portable sur la table, les copains agglutinés autour... le bar est libre :)
Didier le
22/12/2006
(169 393 hits)
Au fil des news ASP - Redimensionner Image + Picto après Upload - Galerie photos, revue de presse, ... But : Proposer aux visiteurs de charger des images sans se soucier du "poids" de l'image, puisqu'on ... Exporter et Importer un site SharePoint - Comment déplacer un site SharePoint Une question est très régulièrement posée à tout responsable de ferme SharePoint : Comment ... Bon anniversaire - Comment le souhaiter à ses membres ? Avoir un site, c'est bien. Avoir des inscrits, c'est mieux. Souhaiter leur anniversaire, c'est ... Audio & Vidéo - Multimédia dans ses pages web AUDIO/VIDEO : QuickTime, MediaPlayer, RealPlayer, FlashPlayer, ... : Du multimédia dans ses pages ... Magazines - Le Hors-Série .Net de Programmez ! PHP - Administrer en ligne - Protection des pages Protéger ses pages pour administrer son site en ligne en (relative) sécurité (PHP). Communautés - Concours de programmation Flash ! [MAJ] Afficher ses images à la taille voulue - Utilisation du composant IMGSIZE Ajout de la vérification de l'existence du fichier et d'un test d'erreur de retour du composant ... Protéger ses Images - Propriété intellectuelle - Vie privée Je me suis penché sur la question en tant qu'artiste moi-même, et concepteur de site web pour ... Création de miniatures - Fonction php de création Cette fonction sert à créer des miniatures. ASP - ADMINISTRER en ligne - Protection des pages Protéger ses pages pour administrer son site en ligne en (relative) sécurité (ASP). JavaScript - Numéros de ligne à gauche d'un textarea Protection - Sécurité - Mise au point - Précautions - Solutions Même sans être paranoïaque, on a tous entendu parler de failles de sécurité, piratage informatique, ... AspSmartUpload - Mode d'Emploi Le composant ASPSmartUpload (gratuit) permet de gérer les téléchargements de FICHIERS ou de ... JavaScript - Contrôler une date saisie dans un formulaire HTML - Ajouter un fichier multimédia dans une page web HTML - Musique de Fond sur son site Afficher ses images à la taille voulue - Utilisation du composant IMGSIZE Devant la diversité des formats d'image actuels, il est parfois nécessaire de connaître les ... CSS - Icône Personnalisée sur son site JavaScript - Interdire Clic Droit et message d'alerte CSS - Curseur Personnalisé sur son site JavaScript - Fenêtre à la Dimension de l'Ecran La gouvernance SharePoint - Partie 1 - Première partie sur la gouvernance dans Sharepoint Un projet de mise en place de ferme SharePoint est un projet important pour toute structure ... ASP - Redimensionner Image + Picto après Upload ASP - Administration en ligne : Protection des Pages PHP - Administration en ligne : Protection des Pages PHP - Redimensionner Image + Picto après Upload ASP - Boutons ON OFF pour tout type de musique PHP - Boutons ON OFF pour tout type de musique SharePoint et OpenSearch - Utiliser l'option OpenSearch avec SharePoint Nous avons maintenant un site SharePoint fonctionnel associé à un moteur de recherche efficace. Il ... Magazines - Le n°109 de Programmez est disponible SharePoint et PowerShell - Utilisation de PowerShell pour un script d'admin PowerShell est le nouveau moteur de script de Microsoft. Il permet tout comme VBScript de créer des ... [MAJ] [PHP] - Validation de formulaire - Gestion des erreurs via style CSS Ajout de la sécurité anti sql injection de premier niveau. Adobe - Adobe propose 3 nouvelles versions bêta publiques VBScript - Interroger un serveur MYSQL Divers - Web developpement PHP5 - Copie de fichiers distants Les stratégies de Backup dans WSS V3 - Quelles sont les différentes solutions de BackUp Nous avons vu au travers des précédents articles différents sujets pour Windows SharePoint Services ... Création d'une solution de déploiement SharePoint - Créer la solution pour notre composant SharePoint Après avoir suivi toutes les étapes pour la création de notre composant (Feature) SharePoint, il ... Magazines - Le n°108 de Programmez est disponible