Diaporama pour photos et animations flash

Contenu du snippet

Ce code permet d'afficher, dans 3 frames:
- un titre pour le diaporama
- un menu soit sous forme d'imagettes, soit sous forme de nom de fichiers
- la photo à visionner.
On peut le mettre soit directement dans le dossier où se trouvent les photos, soit à la racine, auquel cas il scanne tout le site et affiche les sous-répertoires. En cliquant sur les sous-répertoires on a accés aux photos qu'ils contiennent. On peut revenir en arrière.
Il est entiérement paramétrable. On peut choisir le type d'image à afficher.
On peut faire apparaitre le titre et/ou un texte sous la photo.
Voir aussi les commentaires dans le script.
PS: j'ai fait le même permettant d'aficher des animations FLASH à la place des photos.

Source / Exemple :


<%@LANGUAGE="VBSCRIPT"%>
<%response.addheader "cache-control","private"%>
<%response.addheader "pragma","no-cache"%>
<%
response.expires=-1
response.buffer=true
session.lcid=1036
' HAUT DE PAGE COMMUN
%>
<HTML>
<HEAD>
   <TITLE>Album de photos</TITLE>
   
<style type="text/css">
   BODY
   {
	scrollbar-base-color: #B06818;
    	scrollbar-track-color:#D5B783;
   }
</style>
</HEAD><%

' GÉNÉRATION DU FRAMESET
if request("frame")="" then %>

<frameset rows="100,*" frameborder="NO" border="0" framespacing="0"> 
  <frame name="topFrame" src="../04_haut_page_2.asp" scrolling="NO" noresize>
  <frameset cols="137,*" frameborder="NO" border="0" framespacing="0"> 
      <FRAME SRC="<%=request.serverVariables("SCRIPT_NAME")%>?frame=menu" NAME="menu" scrolling="YES">
      <FRAME SRC="<%=request.serverVariables("SCRIPT_NAME")%>?frame=image" NAME="image">
</frameset>
</frameset>
<noframes><body bgcolor="#ffff99">
<P align="center">Votre navigateur ne supporte pas les frames<BR>Utilisez de préférence IE&nbsp;5.5 (ou supérieur)<BR>ou Netscape&nbsp;7.0</P>
</body></noframes>

<% ' FRAME MENU
elseif request("frame")="menu" then %>

   <BODY background="../img/FilmUnit.gif"><center>
      <% Set FSO = Server.CreateObject("Scripting.FileSystemObject") 
      ' LIEN VERS ACCUEIL. Adaptez le chemin selon vos besoins.
      response.write "<A href='../default_2.asp' style='color:#00CCCC' target='_top'>Accueil</A><BR><HR>"
      ' FIN LIEN VERS ACCUEIL 
      ' Dossier en cours
      curdir = request("dir")
      if curdir="" then curdir = "."
      
      'response.write "<b>Dossier "&curdir&"</b><br><br>"&VbCrLf

      if curdir<>"." then
         ' lien vers le dossier parent
         tmp = instrrev(curdir,"/")-1
         response.write "<A href='?frame=menu&dir="&left(curdir,tmp)_
            &"' target=menu><B>Liste</B></A><br><B>"&mid(curdir,3,len(curdir))&"</B><BR>"&VbCrLf
      end if

      dir = Server.MapPath(curdir) 
      set foldPt = FSO.GetFolder(dir)

      ' LISTE DES DOSSIERS COURANTS
      dim fc,f
      set fc = foldPt.SubFolders
      ' on scanne le répertoire
      for each f in fc
         p = f.name
         
         ' lien vers le dossier
         response.write "<A href='?frame=menu&dir="&curdir&"/"&p&"' target=menu><B>"&p&"</B></A><br><br>"&VbCrLf
      next

      ' LISTE DES IMAGES DU DOSSIER COURANT
      set fc = foldPt.Files
      ' on scanne le répertoire

      for each f in fc 
         p = f.name
         
         ' si c'est une extension d'image
         ext = lcase(mid(p, instrrev(p, ".") + 1))
         'ici on choisi l'extension
         if ext="jpg" OR ext="jpeg" then
            ' lien vers l'image
           
            response.write "<br><A href='?frame=image&dir="&curdir&"&image="&p&"' target=image><img src='"&curdir&"/"&p&"' width=80 border=0></A><br>"&VbCrLf
         end if
      next 

      ' MISE A JOUR DE LA FRAME IMAGE
      %><script>
         top.image.location="?frame=image&dir=<%=curdir%>"
      </script>
      
   </center></BODY>

<% ' FRAME IMAGE
elseif request("frame")="image" then %>

   <BODY bgcolor="#ffff99">
<DIV style="text-align:center;">

      <% ' AFFICHAGE DE L'IMAGE
      if request("image")<>"" then %>
      
         <img src="<%=request("dir")&"/"&request("image")%>">
<!--si vous voulez que votre photo soit ajustée à l'écran remplacez la ligne ci dessus par celle-ci et modifiez le pourcentage en fonction de vos besoins
         <img src="<%=request("dir")&"/"&request("image")%>" heigth="90%">
-->
<!--les lignes suivantes permettent d'afficher eventuellemnt le titre sous la photo
         <BR>
         <FONT size="4"><%=mid(request("image"),1,len(request("image"))-4)%></FONT>
-->         
<%
'les lignes suivantes permettent d'afficher un texte sous la photo
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
kom = mid(request("image"),1,len(request("image"))-4)&".txt"
chemin = Server.MapPath(request("dir")&"/"&kom)
If FSO.FileExists(chemin) Then
set inF = FSO.OpenTextFile(chemin,1,false)
%>
<BR>
<B>
<% = inF.readAll %>
</B>
<%
inF.close
end if
else
'si pas de photo à afficher, on affiche un texte
%>
<B>
         
         <FONT size="5"><!--#include file="titre.txt"--></FONT>
</B>
      <% end if %>
</DIV>
   </BODY>

<% end if
' BAS DE PAGE COMMUN
%>
</HTML>

Conclusion :


Si quelqu'un connait le moyen de trier les photos dans le menu par ordre alphabétique, qu'il me le dise! c'est le seul point qui m'ennuie vraiment. Merci.
Ce script n'est pas entièrement de moi. C'est une adaptation à mes besoins d'un script existant. Merci de ne pas hurler...

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (trabi11fr)