Designed by Maunakea !
65 en ligne   Boutique | Sites | Bar | Forum | PhpBB | Actu | Glossaire | Codes | Tips | Liens | Livres | Lettre  


 Recherche

 NewsLetter





   

Include conditionnel

Inclusion ASP d'un fichier ayant un nom variable





Didier
Comme vu précédemment sur la page Structure, il n'existe pas en ASP (avant IIS5) de fonction d'inclusion de fichiers équivalente à la fonction PHP  include() . Alors traditionnellement on utilise une inclusion serveur  (SSI)  qui a le facheux inconvénient d'être réalisée AVANT l'exécution du code ASP nous empêchant ainsi d'inclure un fichier dont le nom aurait été "calculé" par le code...

La petite procédure que je vous propose ci-dessous remédie à ce manque et pourrait être utilisée dans une gestion de skins par exemple.



include.asp 
<% ' === INCLUSION ASP ===

sub include(fichier)
   dim Fnm,inF,code,asp,pt1,pt2
   ' Création éventuelle de l'objet FSO
   if not isobject(FSO) then _
      set FSO = Server.CreateObject("Scripting.FileSystemObject")
   ' Calcul du path long du fichier
   Fnm = server.mapPath(fichier)
   ' si le fichier existe
   if FSO.fileExists(Fnm) then
      set inF = FSO.openTextFile(Fnm,1,false)
      ' on lit tout son contenu
      code = inF.readAll
      inF.close
      ' on remplace les <%= par des <%response.write
      code = replace(code,"<%=","<%response.write ")
      code = replace(code,"<% =","<%response.write ")
      ' puis c'est selon...
      pt1 = 1 : pt2 = -1
      while pt1>0
         pt1 = instr(pt2+2,code,"<"&"%")
         ' on exécute tout ce qui est entre < % et % >
         if pt1>0 then
            response.write mid(code,pt2+2,pt1-pt2-2)
            pt2 = instr(pt1+2,code,"%"&">")
            asp = mid(code,pt1+2,pt2-pt1-2)
            execute asp
         ' et on affiche le reste
         else
            response.write mid(code,pt2+2)
         end if
      wend
   ' sinon msg d'erreur
   else
      response.write "pas trouvé " & Fnm
   end if
end sub
%>


Utilisation

Pour l'utiliser il suffit simplement de l'invoquer (sans parenthèse puisque c'est une sub...:o)

<%include "monrep/page.asp"%>


Ou alors en calculant le nom du fichier

<%dir="monrep" : lang="fr"
' ...
include dir & "/page_" & lang & ".asp"
%>



Enfin par exemple dans une gestion de skins

<%
skin = request.cookies("skin")
if skin = "" then skin = "maunakea"
' ...
include dir & "/skins/" & skin & "/top.asp"
' ... code général
include dir & "/skins/" & skin & "/btm.asp"
' ...
%>



Remarques

  1. Le fichier à inclure peut avoir n'importe quelle extension... le code ASP sera reconnu par les tags <% et %> spécifiques...

  2. Le fichier peut contenir du code HTML, du texte à afficher et du code ASP mélangés...
Enjoy !

Pour pouvoir écrire dans ce forum, identifiez-vous !

 Lire  29/02/08 13:32 de batssou
Très bien ce script! Merci! Juste une petite modif s...
  v1.3p © ASP-PHP.net 2002  

Didier le 09/09/2004 (81 623 hits)
Didier Gratuit : Formez-vous sur Silverlight, .NET, OpenXML, ...
Ils l’ont fait avec SQL Server. Découvrez comment !
Concours de programmation Flash !
Au fil des news  
Annuaire d'entreprise en PHP - Très pratique pour ne plus rien perdre
Mon petit annuaire d'entreprise, je m'en sers tous les jours alors autant vous en faire profiter. ...
PHP-MySQL : Formulaire - pour le script 'Bon anniversaire' de DB77
Formulaire et script d'enregistrement pour le script « Bon anniversaire » de DB77 en PHP/MySQL ...
.NET - Introducing Microsoft Silverlight 2.0, 2nd Edition
PHP5 - Upload de fichiers - Classe PHP
PHP - PHP 5 /MYSQL® 5
PHP - Calcul de la surface d'un polygone
Comment supprimer des items d'une liste SharePoint - Supprimer les informations d'une liste SharePoint
SharePoint permet bien sur de stocker des données. Parfois, on peut vouloir effacer certaines de ...
Dreamweaver CS4 - Nouvelle version Béta
Voici la nouvelle mouture, annoncée en juin, juste 6 mois après la sortie de la version CS3. Je ...
PowerShell - Synchronisation répertoire par répertoire
PowerShell - Ajouter des items dans une liste SharePoint
Localisation des développements avec SharePoint - Rendre ses applications SharePoint internationales
Lorsque l'on développe des applications avec SharePoint, on se confronte très souvent à une ...
PowerShell - Supprimer tous les items d'une liste SharePoint
PowerShell - Vider la Corbeille SharePoint d'une collection
PowerShell - Modifier le Thème d'une collection SharePoint
PowerShell - Tester l'existance ou effacer une WebPart
PowerShell - Définir une valeur pour une propiété d'un SPWeb
PowerShell - Importer une liste SharePoint depuis un fichier
PowerShell - Exporter une liste SharePoint dans un fichier
PowerShell - Lister les propriétés d'un site SharePoint
Modification de l'adresse du Search Center - Définir la page de résultat d'une ferme MOSS
Lorsque l'on installe MOSS dans une ferme SharePoint et que l'on configure le moteur de recherche ...
PHP - Redimensionner Image + Picto après Upload - Galerie photos, revue de presse, ...
Upload de photo, redimensionnement, création de picto, enregistrement ...
ASP - Redimensionner Image + Picto après Upload - Galerie photos, revue de presse, ...
Upload de photo, redimensionnement, création de picto, enregistrement ... Utilisation ...
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
Tutorial : HTML | Scripting | ASP-PHP | ASP.net | SQL Server | XML
Sharepoint | XAML | Pocket | Dreamweaver | VML | Divers
  Scripts : Scripting | ASP-PHP | ASP.net | Divers
  Boutique | Annuaire | Bannières | Météo | Tribune | Partenariats
v3 © Didier 2003   
 

Corpo Sciences de Reims Partitions gratuites Carte, météo, annonces
 ASP-magazine Codes Sources The Inquirer FR TechNet MVP Wygwam Groupes Utilisateurs Microsoft DotNet Project CodePPC El Roubio