La serie de conferencias ASP (14) contiene archivos
Autor:Eve Cole
Fecha de actualización:2009-05-30 19:58:52
La directiva SSI proporciona a los usuarios una manera de insertar el contenido de un archivo en otro archivo antes de procesarlo en el servidor web. ASP sólo utiliza la directiva #include para este mecanismo. Para insertar un archivo en un archivo .asp, utilice la siguiente sintaxis:
<!--#incluir archivo virtual ="nombre de archivo"-->
Las palabras clave virtual y file indican el tipo de ruta utilizada para incluir el archivo, y filename es la ruta y el nombre del archivo que desea incluir.
Los archivos incluidos no requieren una extensión de archivo específica; sin embargo, es una buena práctica de programación darles a los archivos incluidos una extensión .inc para distinguirlos de otros tipos de archivos.
Uso de la palabra clave Virtual Utilice la palabra clave Virtual para indicar que la ruta comienza en un directorio virtual. Por ejemplo, si un archivo llamado Footer.inc pertenece a un directorio virtual llamado /Myapp, la siguiente línea insertará el contenido de Footer.inc en el archivo que contiene esa línea:
<!--#include virtual ="/myapp/footer.inc"-->
Uso de la palabra clave de archivo Utilice la palabra clave de archivo para indicar el uso de rutas relativas. Las rutas relativas comienzan desde el directorio que contiene el archivo de inclusión. Por ejemplo, si sus archivos están en el directorio Myapp y el archivo Header1.inc está en MyappHeaders, la siguiente línea insertará Header1.inc en su archivo:
<!--#incluir archivo ="headers/header1.inc"-->
Tenga en cuenta que la ruta al archivo incluido Headers/header1.inc es relativa al archivo incluido; si el script que contiene la declaración #include no está en el directorio /Myapp, la declaración no tendrá ningún efecto.
Si se selecciona la opción "Habilitar directorio superior" en el Administrador de servicios de Internet, también puede usar la palabra clave file y la sintaxis ../ para incluir archivos en el directorio principal, es decir, el directorio superior.
Ubicación de los archivos incluidos Los archivos incluidos pueden estar en un directorio dentro de su sitio web o fuera de su sitio web. Normalmente, debería tener los archivos incluidos ubicados en el directorio de su sitio web. Si un archivo incluido se encuentra dentro de su sitio web, los cambios realizados en el archivo incluido se mostrarán la próxima vez que el navegador solicite el archivo incluido. Sin embargo, si el archivo incluido se encuentra fuera de su sitio web, el cambio no se reflejará hasta que se reinicie la aplicación ASP o el servidor web. ASP detecta cambios en cualquier archivo incluido en el espacio de nombres de la aplicación (bajo el directorio de inicio de la aplicación).
Archivos incluidos: consejos y advertencias Un archivo incluido también puede incluir otros archivos. Un archivo .asp puede incluir el mismo archivo varias veces si las directivas #include no provocan bucles. Por ejemplo, si el archivo First.asp contiene el archivo Second.inc, Second.inc no debe contener First.asp. Un archivo no puede contenerse a sí mismo. ASP detecta dichos errores anidados o en bucle y, cuando los detecta, genera un mensaje de error y deja de procesar el archivo .asp solicitado.
ASP incluye el archivo antes de ejecutar el comando del script. Por lo tanto, no puede utilizar comandos de script para crear los nombres de los archivos incluidos. Por ejemplo, el siguiente script no abrirá Header1.inc porque ASP ejecuta la directiva #include antes de asignar un nombre de archivo al nombre de la variable.
<!-- Este script fallará -->
<% nombre=(encabezado1 & ".inc") %>
<!--#include file="<%= nombre %>"-->
Los comandos y procedimientos de script deben estar completamente encerrados entre delimitadores de script <% y %>, etiquetas HTML <SCRIPT> y </SCRIPT> o etiquetas HTML <OBJECT> y </OBJECT>. Es decir, no puede abrir un delimitador de secuencia de comandos en un archivo de inclusión .asp y luego cerrarlo en un archivo incluido. La secuencia de comandos o el comando de secuencia de comandos deben ser una unidad completa. Por ejemplo, el siguiente script no se ejecutará:
<!-- Este script fallará -->
<%
Para i = 1 tonelada
declaraciones en el archivo principal
<!--#include file="encabezado1.inc" -->
Próximo
%>
El siguiente script se ejecutará normalmente:
<%
Para i = 1 an
declaraciones en el archivo principal
%>
<!--#include file="encabezado1.inc" -->
<% Siguiente %>