数据库链接文件:包含文件对数据库链接的影响来源: 发布时间:星期四, 2008年9月25日 浏览:75次 评论:0
你注意到没有,利用MX/UD开发程序时,所有需要链接数据库的页面中,都会在页面的开始部分使用包含文件调用数据库链接文件,如: <!--#include file=\"Connections/con123456.asp\" --> 那么这段代码有什么好研究的吗?当然有研究了,如果你没有正确使用它,那么也许你在本地调试很正常的程序,一旦传到服务器上就出错,一个可能的原因就是包含文件在作怪!让我们了解一下什么是包含文件: ●包含文件 全称:Server_Side Include ,从名称上一看就知道应该是服务器端的包含文件,简称 SSI. SSI 为用户提供在 Web 服务器处理之前将一个文件的内容插入到另一个文件的方法。ASP 只使用这一机制的#include 指令。要在 .asp 文件中插入一个文件,使用下面的语法: <!--#include virtual | file =\"filename\"--> virtual 和 file 关键字指示用来包含该文件的路径的类型,filename 是您想包含的文件的路径和名称。 被包含文件不要求专门的文件扩展名;但是,为被包含文件赋予 .inc 扩展名以便和其他类型文件相区分是一个良好的编程习惯。由于大部分虚拟主机服务商并没有设置 inc 的解释,如果填入 .inc 的文件地址,就会直接显示在浏览器源代码里。所以强烈建议在使用 include 的数据库联接文件还有包括有 asp 源代码的文件时,一定要把后缀改为 .asp 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\"--> 特别注意:如果在 Internet 服务管理器中的“启用上层目录”选项被选中,则也可以使用 file 关键字和 ../ 语法包含父目录即上一层目录中的文件。 但一般情况下,为了安全考虑,WEB空间服务商在设置服务器时,“启用上层目录”选项是被禁止使用的,而你利用MX/UD开发并在本地机器上调试程序时,所有需要链接数据库的页面中,都会在页面的开始部分使用包含文件调用数据库链接文件,例如: <!--#include file=\"Connections/con123456.asp\" --> 如果没有考虑到“包含父目录”这个问题,页面中可能会出现: <!--#include file=\"../Connections/con123456.asp\" --> 类似的形式,在本地数据库链接很正常(本地设置虚拟目录时,“启用上层目录”选项默认是选中状态),上传到服务器当中就会出现错误,这是初学UD/MX来开发动态网站,特别是没有ASP基础就直接利用UD/MX学习动态开发技术的朋友们容易忽视的地方。最好的方法是在本地调试程序时,将“启用上层目录”选项关闭(禁止使用),以获得和远程服务器上相同的开发环境。 设置方法如下: 启动IIS管理器;查看你设置的虚拟目录/站点属性,在弹出的属性面板中点击主目录或虚拟目录标签,如下: 点击应用程序设置区当中的[配置…]按钮,弹出应用程序配置设置面板,如下图: 点击“应用程序选项”标签,将其中的“启用父目录”的钩选符号去掉。点击确定按钮返回。 ●被包含文件的位置 被包含文件可以在您的 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 --> 0
相关文章
读者评论
发表评论 |