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
21/01/2009
(192 739 hits)
Au fil des news Magazines - Le N°128 de Programmez est disponible Magazines - Le N°127 de Programmez est disponible Dreamweaver CS4 + Php + Mysql - Trucs et Astuces - Part 6 Pour continuer dans le même style, je vous propose une suite au précédent article. Rechercher tous ... Adobe - Adobe Photoshop.com Mobile pour iPhone 1.1 JavaScript - Ajouter une page dans vos favorites Dreamweaver CS4 + Php + Mysql - Trucs et Astuces - Part 5 - Je vous propose cette fois deux astuces. Comment exporter une feuille de style avec l'aide de ... SharePoint Personalization Site Links - Les liens personnalisés des MySite SharePoint Nous avons vu dans les articles précédents comment agrémenter les pages de recherche afin de ... Magazines - Le n°126 de Programmez est disponible Outils - Traducteur en ligne automatique pour site web Adobe - Adobe Photoshop.com Mobile pour Iphone Magazines - Le n°125 de Programmez est disponible Adobe - Adobe AIR 2 et Flash Player 10.1version bêta Les conférences autour des technologies Microsoft - Liste non exhaustive des grands évènements Nous allons essayer de regrouper un grand nombre des évènements autour des technologies Microsoft ... Magazines - Le n°124 de Programmez est disponible PHP - Forum PHP 2009 Composants - eFace - XAML en Java WPF - Désactiver le bouton de réduction d'une fenêtre Magazines - Le n°123 de Programmez est disponible Magazines - Le n°122 de Programmez est disponible Auditer une ferme SharePoint - Assurer le bon fonctionnement de SharePoint Dans le cadre de la bonne gestion de son environnement SharePoint, il est utile de faire un ... SQL Server 2008 Report Builder 2.0 - Installation et utilisation de Report Builder 2.0 Dans le cadre de la création de rapports pour SQL Server Reporting Services 2008, un outil est ... Magazines - Le HS N° 1 de Web Design est disponible Adobe - Adobe propose en Open Source les frameworks..... Outils - EntityBuilder CSharp - Sérialisation XML de vos objets Magazines - Le n°121 de Programmez est disponible Adobe - Adobe annonce MAX 2009 ! Outils - WhoIs [MAJ] Dreamweaver MX + Php + MySql - Les formulaires - partie 3 Mise à jour du code, par DB 77, affichage du code erreur, dans la page erreur.php, traduction des ... PHP - News avec photo - Système de gestion - affichage Gestion - Administration - Affichage d'une "News", "Actualité", "Info", ... avec : - mise en forme ... Outils - Crypt Dreamweaver Php Mysql - Région répétée imbriquée Je rebondis, sur un post du forum, pour vous montrer comment obtenir grâce à l'extension Simulated ... Magazines - Le n° 120 de Programmez est disponible Gérer les bases de contenu SharePoint - Gérer la croissance du volume des données Dans le cadre de la gestion quotidienne de ferme SharePoint, il existe une partie qu'il faut ... PHP - Le Coach PHP sur Visual Studio .NET - Ecrire une application .NET utilisant MySQL PHP - Utilisation de PHP dans le monde Microsoft Magazines - Le n° 119 de Programmez est disponible Adobe - Adobe annonce Photoshop Marketplace [MAJ] Tutoriel AJAX simple - En avant vers le WEB2.0 Mis à jour le 20/04/2009