asp #include file 与 #include virtual 的区别小结

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

  #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则刚好相反