这里说的“相对路径”是相对于“主调文件”所在的文件夹。

#include file
#include file后面跟的是文件的“相对路径”,不可以用“绝对路径”。
使用相对路径,如:file="script\file.inc",file="..\script\file.inc"
不可以用绝对路径,如:file="\script\file.inc"
#include virtual
#include virtual后面可以跟文件的“绝对路径”,也可以跟形式上的“相对路径”(所谓形式上的“相对路径”,指的是这个路径从形式上看是“相对路径”,但它还是会被转换成“绝对路径”,因此本质上还是“绝对路径”)

使用绝对路径,如:virtual="\folder\file.inc"
使用形式上的“相对路径”,如:virtual="folder\file.inc",会被转换成virtual="\folder\file.inc"

建议使用“绝对路径”形式,如:virtual="\folder\file.inc",而不要写成virtual="folder\file.inc",虽然这么写也可以
结合几个例子,说下区别:
实现代码如下:

假设“包含文件”和“被包含文件”同在根目录下名为folder的文件夹内,则virtual="folder\file.asp"是可以的,而file="folder\file.asp"是错误的。
如果一个站点下有2个文件夹folder1和folder2,folder1下有文件file1.asp,folder2下有文件file2.asp,如果file1.asp要调用file2.asp,那么在file1.asp中可以这样写:
<!--#include virtual="\folder2\file2.asp"-->,
在这种情况下用<!--#include file="folder2\file2.asp"-->是错误的。

使用过程中,要注意下面几点:

不论用#include file还是#include virtual,在路径中用单纯用“/”或单纯用“\”或者二者混和使用都可以。

如:file="..\script\file.inc", file="../script/file.inc",file="../script\file.inc"

#include file和#include virtual只能包含站内文件,不能包含站外文件。 例如,假设有一个站点名为website,使用virtual="website\file.asp"是错误的。

include file 可以用相对路径或全路径与文件名的组合来描述

如:file="..\script\my.inc" file="../script/my.inc"
奇怪的是竟然可以 file="../script\my.inc"也通过编译

他的禁止:是不可以用绝对路径来表示

如:file="/script/my.inc"

而对virtual可以使用虚抑的绝对路径来表示

virtual="/yousite/script/my.inc"

raintung
2001.5.4
但是对asp3.0的编程中
关于virtual可以使用虚抑的相对路径来表示,我从未验证成功,还望有
人来指点
如 <!-- #include virtual="../script/my.inc" -->

结果证明:
(1)斜线或反斜线是无关紧要的
(2)file除了全路径不可以表示,而virtual则刚好相反

以上就是【asp #include file 与 #include virtual 的区别小结】的全部内容了,欢迎留言评论进行交流!

赞(0) 踩(0)
发表我的评论

最新评论

  1. 暂无评论