La série de conférences ASP (14) contient des fichiers
Auteur:Eve Cole
Date de mise à jour:2009-05-30 19:58:52
La directive SSI offre aux utilisateurs un moyen d'insérer le contenu d'un fichier dans un autre fichier avant son traitement par le serveur Web. ASP utilise uniquement la directive #include pour ce mécanisme. Pour insérer un fichier dans un fichier .asp, utilisez la syntaxe suivante :
<!--#include fichier virtuel ="nom de fichier"-->
Les mots-clés virtual et file indiquent le type de chemin utilisé pour inclure le fichier, et filename est le chemin et le nom du fichier que vous souhaitez inclure.
Les fichiers inclus ne nécessitent pas d'extension de fichier spécifique ; cependant, il est recommandé de donner aux fichiers inclus une extension .inc pour les distinguer des autres types de fichiers.
Utilisation du mot-clé Virtual Utilisez le mot-clé Virtual pour indiquer que le chemin commence dans un répertoire virtuel. Par exemple, si un fichier nommé Footer.inc appartient à un répertoire virtuel appelé /Myapp, la ligne suivante insérera le contenu de Footer.inc dans le fichier contenant cette ligne :
<!--#include virtual ="/myapp/footer.inc"-->
Utilisation du mot-clé File Utilisez le mot-clé file pour indiquer l'utilisation de chemins relatifs. Les chemins relatifs partent du répertoire contenant le fichier d'inclusion. Par exemple, si vos fichiers sont dans le répertoire Myapp et que le fichier Header1.inc est dans MyappHeaders, la ligne suivante insérera Header1.inc dans votre fichier :
<!--#include file ="headers/header1.inc"-->
Notez que le chemin d'accès au fichier inclus Headers/header1.inc est relatif au fichier inclus ; si le script contenant l'instruction #include ne se trouve pas dans le répertoire /Myapp, l'instruction n'aura aucun effet.
Si l'option « Activer le répertoire supérieur » dans le Gestionnaire des services Internet est sélectionnée, vous pouvez également utiliser le mot-clé file et la syntaxe ../ pour inclure les fichiers dans le répertoire parent, c'est-à-dire le répertoire supérieur.
Emplacement des fichiers inclus Les fichiers inclus peuvent se trouver dans un répertoire au sein de votre site Web ou en dehors de votre site Web. En règle générale, les fichiers inclus doivent se trouver dans le répertoire de votre site Web. Si un fichier inclus se trouve sur votre site Web, les modifications apportées au fichier inclus seront affichées la prochaine fois que le navigateur demandera le fichier inclus. Toutefois, si le fichier inclus se trouve en dehors de votre site Web, la modification ne sera reflétée qu'au redémarrage de l'application ASP ou du serveur Web. ASP détecte les modifications apportées à tous les fichiers inclus dans l'espace de noms de l'application (sous le répertoire personnel de l'application).
Fichiers inclus : conseils et avertissements Un fichier inclus peut également inclure d'autres fichiers. Un fichier .asp peut inclure le même fichier plusieurs fois si les directives #include ne provoquent pas de boucles. Par exemple, si le fichier First.asp contient le fichier Second.inc, Second.inc ne doit pas contenir First.asp. Un fichier ne peut pas se contenir. ASP détecte de telles erreurs en boucle ou imbriquées et, lorsqu'il est détecté, génère un message d'erreur et arrête de traiter le fichier .asp demandé.
ASP inclut le fichier avant d'exécuter la commande de script. Par conséquent, vous ne pouvez pas utiliser de commandes de script pour créer les noms des fichiers inclus. Par exemple, le script suivant n'ouvrira pas Header1.inc car ASP exécute la directive #include avant d'attribuer un nom de fichier au nom de variable.
<!-- Ce script va échouer -->
<% name=(header1 & ".inc") %>
<!--#include file="<%= nom %>"-->
Les commandes et procédures de script doivent être entièrement entourées de délimiteurs de script <% et %>, de balises HTML <SCRIPT> et </SCRIPT> ou de balises HTML <OBJECT> et </OBJECT>. Autrement dit, vous ne pouvez pas ouvrir un délimiteur de script dans un fichier d'inclusion .asp, puis le fermer dans un fichier inclus, le script ou la commande de script doit constituer une unité complète ; Par exemple, le script suivant ne s'exécutera pas :
<!-- Ce script va échouer -->
<%
Pour i = 1 À n
déclarations dans le fichier principal
<!--#include file="header1.inc" -->
Suivant
%>
Le script suivant s'exécutera normalement :
<%
Pour i = 1 à n
déclarations dans le fichier principal
%>
<!--#include file="header1.inc" -->
<% Suivant %>