file与virtual的区别

区别

在编写ASP程序的时候,通常都会用到<!--#include virtual/file="path/filename"-->把一段相对独立的文件代码嵌套到当前页面中来。在实际的使用中很多人对"file"和"virtual"的使用不太理解,导致页面执行的时候会出现错误。现就该问题作一个简述。
  使用"file"的时候,等号后面使用的是相对路径。所谓相对路径,是以当前文件所在的文件夹作为始点,通过路径搜索,得到其它文件(或文件夹)与当前文件的路径关系。使用"virtual"的时候,等号后面使用的是绝对路径。绝对路径,是以网站根目录作为始点,通过路径搜索,得到文件(或文件夹)的完整路径。

  这两个定义不太好理解,举例说明:IIS设置的站点根目录为"c:\wwwroot\",a.asp文件所在目录是c:\wwwroot\afolder,b.asp文件所在目录是c:\wwwroot\bfolder,c.asp文件所在目录是c:\wwwroot\afolder\cfolder,则以a.asp作为起点寻找b.asp,所经过的路径依次为c:\wwwroot\afolder、c:\wwwroot、c:\wwwroot\bfolder;而寻找c.asp,所经过的路径就是c:\wwwroot\afolder、c:\wwwroot\afolder\cfolder。由此得出,b.asp对于a.asp的相对路径就是../bfolder;相同的,a.asp对于b.asp的相对路径就是../afolder。当a.asp文件需要使用"file"调用b.asp文件的时候,其语句就应该写为<!--#include file="../bfolder/b.asp"-->。调用c.asp,其语句是<!--#include file="cfolder/c.asp"-->。而无论什么时候,a.asp、b.asp、c.asp这三个文件的绝对路径分别是c:\wwwroot\afolder、c:\wwwroot\bfolder、c:\wwwroot\bfolder\cfolder。因此,在a.asp文件中使用"virtual"调用另外两个文件,分别为<!--#include virtual="/bfolder/b.asp"-->和<!--#include virutal="/bfolder/cfolder/c.asp"-->。

  另外需要提一下的是include与iframe的区别。前者是把一个相对独立的文件代码作为调用文件代码的一部分执行,该语句属于ASP语言,只能用于asp文件中。而iframe是单纯把一个独立的文件在调用文件中嵌套显示,两者是完全独立的,无任何关系,且iframe属于HTML语言,可在asp、htm、html等文件中调用。

时间: 2024-11-04 03:52:45

file与virtual的区别的相关文章

“file”与“virtual”的区别

区别   在编写ASP程序的时候,通常都会用到<!--#include virtual/file="path/filename"-->把一段相对独立的文件代码嵌套到当前页面中来.在实际的使用中很多人对"file"和"virtual"的使用不太理解,导致页面执行的时候会出现错误.现就该问题作一个简述. 使用"file"的时候,等号后面使用的是相对路径.所谓相对路径,是以当前文件所在的文件夹作为始点,通过路径搜索,得到

SSI include file与virtual的区别

实例:   <!--#include file="/dir/file.html" -->   <!--#include virtual="/dir/file.html" -->   有什么不同?     相同点: 都能将file.html包含进来.   不同点: virtual 包含的职能是纯文件, 而file 文件里面可能有变量定义, 逻辑条件   实如: file.html 的内容是      Html代码   <!--#if ex

include file 和 #include virtual的区别(转)

include|区别 include file 和 #include virtual的区别 2001年5月23日 include file 可以用相对路径或全路径与文件名的组合来描述 如:file="..\script\my.inc" file="../script/my.inc" 奇怪的是竟然可以 file="../script\my.inc"也通过编译 他的禁止:是不可以用绝对路径来表示 如:file="/script/my.inc

#include file 和 #include virtual的区别(菜鸟篇)

include|区别 include file 可以用相对路径或全路径与文件名的组合来描述 如:file="..\script\my.inc" file="../script/my.inc" 奇怪的是竟然可以 file="../script\my.inc"也通过编译 他的禁止:是不可以用绝对路径来表示 如:file="/script/my.inc" 而对virtual可以使用虚抑的绝对路径来表示 virtual="/

#include file 和 #include virtual的区别

include|区别 include file 可以用相对路径或全路径与文件名的组合来描述 如:file="..\script\my.inc" file="../script/my.inc" 奇怪的是竟然可以 file="../script\my.inc"也通过编译 他的禁止:是不可以用绝对路径来表示 如:file="/script/my.inc" 而对virtual可以使用虚抑的绝对路径来表示 virtual="/

asp #include file 与 #include virtual 的区别小结第1/2页_应用技巧

这里说的"相对路径"是相对于"主调文件"所在的文件夹. #include file #include file后面跟的是文件的"相对路径",不可以用"绝对路径". 使用相对路径,如:file="script\file.inc",file="..\script\file.inc" 不可以用绝对路径,如:file="\script\file.inc" #include v

asp #include file 与 #include virtual 的区别小结第1/2页

这里说的"相对路径"是相对于"主调文件"所在的文件夹. #include file #include file后面跟的是文件的"相对路径",不可以用"绝对路径". 使用相对路径,如:file="script\file.inc",file="..\script\file.inc" 不可以用绝对路径,如:file="\script\file.inc" #include v

#include&amp;lt;file.h&amp;gt;与#include&amp;quot;file.h&amp;quot;的区别

对于这种问题先来看一看外国人怎么想的,因为本来这种语言就是他们创造的,http://www.geekinterview.com/question_details/3379     What is the difference between #include <file> and #include "file"? When writing your C program, you can include files in two ways. The first way is

file.getPath() getAbsolutePath() getCanonicalPath()区别

getPath public String getPath()将此抽象路径名转换为一个路径名字符串.所得到的字符串使用默认名称分隔符来分隔名称序列中的名称. 返回: 此抽象路径名的字符串形式 getAbsolutePath public String getAbsolutePath()返回抽象路径名的绝对路径名字符串. 如果此抽象路径名已经是绝对路径名,则返回该路径名字符串,这与 getPath() 方法一样.如果此抽象路径名是空的抽象路径名,则返回当前用户目录的路径名字符串,该目录由系统属性