当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP系列讲座(十四)包含文件

ASP
asp分页(自己整理的2个分页程序)
ASP常用的系统配置函数
雨哲防采集策略之列表篇
雨哲浅谈关于防采集而不影响收录内容篇
asp数据库连接函数
ajax XMLHTTP Post Form时的表单乱码综合解决
ASP注入详细命令40条
用ASP实现MSSQL用户密码破解
ASP创建对象的两种方法比较
ASP字符串转换为整形、双精度型、布尔
ASP计算str2在str1中出现的次数
asp采集抓取网上房产信息的代码
ASP注册登陆实例代码
ASP中使用FileSystemObject时提高性能的方法
分享一个好东东,动态Include文件 (Dynamic File Includes)
解决 JScript 中使用日期类型数据时出现类型错误的问题
在ASP里面创建GUID
在JScript中使用缓存技术的实际代码
ASP javascript Application对象的Contents和StaticObjects做Cache的一些经验
海阳2006+功能中的潜水王

ASP系列讲座(十四)包含文件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 194 ::
收藏到网摘: n/a

  SSI 指令为用户提供在 Web 服务器处理之前将一个文件的内容插入到另一个文件的方法。ASP 只使用这一机制的 #include 指令。要在 .asp 文件中插入一个文件,使用下面的语法:

<!--#include virtual | file ="filename"-->
virtual 和 file 关键字指示用来包含该文件的路径的类型,filename 是您想包含的文件的路径和名称。

被包含文件不要求专门的文件扩展名;但是,为被包含文件赋予 .inc 扩展名以便和其他类型文件相区分是一个良好的编程习惯。

使用 Virtual 关键字
使用 Virtual 关键字指出路径开始于虚拟目录。例如,如果一个被命名为 Footer.inc 的文件属于一个名为 /Myapp 的虚拟目录,则下面的一行将把 Footer.inc 的内容插入到包含该行的文件中:

<!--#include virtual ="/myapp/footer.inc"-->
使用 File 关键字
使用 file 关键字指示使用相对路径。相对路径开始于含有该包含文件的目录。例如,如果您的文件位于目录 Myapp 中,而文件 Header1.inc 在 Myapp\Headers 中,下面的一行将把 Header1.inc 插入到您的文件中:

<!--#include file ="headers/header1.inc"-->
注意,到被包含文件 Headers/header1.inc 的路径是相对于包含文件的;如果包含 #include 语句的脚本不在 /Myapp 目录中,那么该语句将不起作用。

如果在 Internet 服务管理器中的“启用上层目录”选项被选中,则也可以使用 file 关键字和 ../ 语法包含父目录即上一层目录中的文件。

被包含文件的位置
被包含文件可以在您的 Web 站点内的某个目录中,也可以在您的 Web 站点之外。通常,您应该使被包含文件位于 Web 站点的目录中。如果一个被包含文件位于您的 Web 站点内,则当浏览器下次请求包含文件时,将显示对被包含文件的改变。但是,如果被包含文件位于您的 Web 站点之外,直到 ASP 应用程序重新启动或 Web 服务器重新启动时,这种改变才能体现出来。ASP 检测在应用程序命名空间中(在应用程序的起始目录下)的任何包含文件的改变。

包含文件:提示和警告
一个被包含文件也可以包含其他的文件。如果 #include 指令没有导致循环,一个 .asp 文件可以多次包括同一个文件。例如,如果文件 First.asp 包含文件 Second.inc,则 Second.inc 一定不能再包含 First.asp。一个文件也不能包含自身。ASP 检测此类循环或嵌套错误,并在检测到时产生一个错误消息,同时停止处理被请求的 .asp 文件。

ASP 在执行脚本命令之前包含文件。因此,不能用脚本命令去创建被包含文件的名称。例如,下面的脚本将不能打开 Header1.inc,因为 ASP 会在它分配一个文件名给变量 name 之前先执行 #include 指令。

<!-- This script will fail -->
<% name=(header1 & ".inc") %>
<!--#include file="<%= name %>"-->
脚本命令和过程必须完全包含在脚本定界符 <% 和 %> 、HTML 标记 <SCRIPT> 和 </SCRIPT> 或 HTML 标记 <OBJECT> 和 </OBJECT> 中。也就是说,不能在一个 .asp 包含文件中打开一个脚本定界符,然后在一个被包含的文件中才关闭该定界符;脚本或脚本命令必须是一个完整的单元。例如,下面的脚本将无法运行:

<!-- This script will fail -->
<%
For i = 1 To n
  statements in main file
  <!--#include file="header1.inc" -->
Next
%>
下面的脚本将正常运行:

<%
For i = 1 to n
  statements in main file
%>
<!--#include file="header1.inc" -->
<% Next %>