多层include时文件地址写法

当一个站点中的A文件包含B文件,B文件又包含了C文件,那么在B文件的include指令中应如何写C文件的地址呢?是相对于A文件来写还是应该相对于B文件来写?下边我们做下测试。

我们先构造了如下几个文件:

引用内容 引用内容
web
├index.asp
├inc
├├const.asp
├├conn.asp
├├check.js
├data
└└db1.mdb

各文件内容如下:

index.asp:
<!-- #include file="inc/conn.asp" -->

conn.asp:
<!-- #include file="const.asp" -->
<%
'这边创建Connection对象(略)
'我们输出数据地址看看
Response.Write(dbpath)
%>

const.asp:
<script language="javascript" type="text/javascript" src="inc/check.js"></script>
<script language="javascript" type="text/javascript" src="check.js" runat="server"></script>
<%
Dim dbpath
dbpath = Server.MapPath("data/db1.mdb")
%>

分析:

在上述结构中,我们需测试conn.asp文件中怎么包含const.asp?
如果是相对于index.asp文件,那么我们应写成:
<!-- #include file="inc/const.asp" -->
如果是相对于conn.asp文件,那么我们应写成:
<!-- #include file="const.asp" -->
测试结果证实应是相对于conn.asp文件的!

结论:

当一个文件包含另一个文件时,被包含文件(const.asp)的地址应是相对于包含文件(conn.asp)地址的,而不是相对于最终包含文件(index.asp)的地址!但被包含文件(const.asp)中与路径相关的信息(数据库路径、客户端脚本地址等)则应是相对于最终包含文件(index.asp)地址的!

上一篇: 再谈IE中Flash控件的自动激活
下一篇: 常用CSS缩写语法总结
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 5581
发表评论
登录后再发表评论!