Série de palestras ASP (14) contém arquivos
Autor:Eve Cole
Data da Última Atualização:2009-05-30 19:58:52
A diretiva SSI fornece aos usuários uma maneira de inserir o conteúdo de um arquivo em outro arquivo antes do processamento pelo servidor Web. ASP usa apenas a diretiva #include para esse mecanismo. Para inserir um arquivo em um arquivo .asp, use a seguinte sintaxe:
<!--#incluir virtual | arquivo ="nome do arquivo"-->
As palavras-chave virtual e file indicam o tipo de caminho usado para incluir o arquivo, e filename é o caminho e o nome do arquivo que você deseja incluir.
Os arquivos incluídos não requerem uma extensão de arquivo específica; no entanto, é uma boa prática de programação fornecer aos arquivos incluídos uma extensão .inc para distingui-los de outros tipos de arquivos.
Usando a palavra-chave Virtual Use a palavra-chave Virtual para indicar que o caminho começa em um diretório virtual. Por exemplo, se um arquivo chamado Footer.inc pertencer a um diretório virtual chamado /Myapp, a linha a seguir inserirá o conteúdo de Footer.inc no arquivo que contém essa linha:
<!--#include virtual ="/myapp/footer.inc"-->
Usando a palavra-chave File Use a palavra-chave file para indicar o uso de caminhos relativos. Os caminhos relativos começam no diretório que contém o arquivo de inclusão. Por exemplo, se seus arquivos estiverem no diretório Myapp e o arquivo Header1.inc estiver em MyappHeaders, a linha a seguir irá inserir Header1.inc em seu arquivo:
<!--#incluir arquivo ="headers/header1.inc"-->
Observe que o caminho para o arquivo incluído Headers/header1.inc é relativo ao arquivo incluído se o script que contém a instrução #include não estiver no diretório /Myapp, a instrução não terá efeito.
Se a opção "Ativar diretório superior" no Gerenciador de serviços de Internet estiver selecionada, você também poderá usar a palavra-chave file e a sintaxe ../ para incluir arquivos no diretório pai, ou seja, o diretório superior.
Localização dos arquivos incluídos Os arquivos incluídos podem estar em um diretório dentro ou fora do seu site. Normalmente, você deve ter os arquivos incluídos localizados no diretório do seu site. Se um arquivo incluído estiver localizado em seu site, as alterações no arquivo incluído serão exibidas na próxima vez que o navegador solicitar o arquivo incluído. Entretanto, se o arquivo incluído estiver localizado fora do seu site, a alteração não será refletida até que o aplicativo ASP seja reiniciado ou o servidor Web seja reiniciado. O ASP detecta alterações em quaisquer arquivos incluídos no namespace do aplicativo (no diretório inicial do aplicativo).
Arquivos incluídos: dicas e avisos Um arquivo incluído também pode incluir outros arquivos. Um arquivo .asp pode incluir o mesmo arquivo várias vezes se as diretivas #include não causarem loops. Por exemplo, se o arquivo First.asp contiver o arquivo Second.inc, Second.inc não deverá conter First.asp. Um arquivo não pode conter a si mesmo. O ASP detecta esses erros de loop ou aninhados e, quando detectados, gera uma mensagem de erro e interrompe o processamento do arquivo .asp solicitado.
ASP inclui o arquivo antes de executar o comando de script. Portanto, você não pode usar comandos de script para criar os nomes dos arquivos incluídos. Por exemplo, o script a seguir não abrirá Header1.inc porque o ASP executa a diretiva #include antes de atribuir um nome de arquivo ao nome da variável.
<!-- Este script falhará -->
<% nome=(cabeçalho1 & ".inc") %>
<!--#include file="<%= nome %>"-->
Os comandos e procedimentos de script devem ser totalmente delimitados por delimitadores de script <% e %>, tags HTML <SCRIPT> e </SCRIPT> ou tags HTML <OBJECT> e </OBJECT>. Ou seja, você não pode abrir um delimitador de script em um arquivo de inclusão .asp e, em seguida, fechá-lo em um arquivo incluído; o script ou comando de script deve ser uma unidade completa. Por exemplo, o seguinte script não será executado:
<!-- Este script falhará -->
<%
Para i = 1 Para n
declarações no arquivo principal
<!--#include file="header1.inc" -->
Próximo
%>
O seguinte script será executado normalmente:
<%
Para eu = 1 para n
declarações no arquivo principal
%>
<!--#include file="header1.inc" -->
<% Próximo %>