`

#include 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等文件中调用。


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

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

 

结果证明:

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

分享到:
评论

相关推荐

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

    使用相对路径,如:file=”script\file.inc”,file=”..\script\file.inc” 不可以用绝对路径,如:file=”\script\file.inc” #include virtual #include virtual后面可以跟文件的“绝对路径”,也可以跟形式上的...

    html 中 #include file 的用法示例介绍

    --#include virtual="/scripts/tools/global.inc"--&gt; ``` 这条指令会把位于虚拟目录/scripts/tools/下的global.inc文件内容嵌入到当前页面中。 在HTML中使用SSI指令时,需要注意以下几点: 1. HTML文件必须是服务器...

    WEB开发 之 ASP 文件引用.docx

    --#include virtual="somefilename"--&gt;`:这里的`virtual`关键字指示路径基于虚拟目录。例如,如果`header.inc`位于虚拟目录`/html`下,你可以使用`&lt;!--#include virtual="/html/header.inc"--&gt;`来引入该文件。 2. ...

    asp #include命令

    --#include virtual="/path/filename"--&gt; ``` 这里有两个关键参数:`file`和`virtual`。 - **file**:当使用`file`参数时,其值是指向被包含文件的相对路径。这里的相对路径是从包含该`#include`命令的ASP文件所在...

    INC文件用法(页头、腰部广告、页脚的设计)

    --#include virtual="/inc/comm/adovbs.inc"--&gt;`这行指令,即可将`.INC` 文件中的内容插入到当前页面中。这里的`virtual`关键字表示引用的是主机的虚拟目录,`/inc/comm/adovbs.inc`即为`.INC` 文件的实际路径。值得...

    SQL通用防注入程序

    --#include virtual="/Neeao.com/Neeao_SqlIn.Asp"--&gt; 就可以做到页面防注入~~ 如果想整站防注,就在网站的一个公用文件中,如数据库链接文件conn.asp中! 添加&lt;!--#include virtual="/Neeao....

    Qt Virtual Keyboard 官方示例代码

    Key features of the Qt Virtual Keyboard include: Customizable keyboard layouts and styles with dynamic switching. Predictive text input with word selection. Character preview and alternative character...

    jsp:include与include实探

    --#include virtual="relativeUrl" --&gt; ``` 这个指令在JSP 1.2及更早版本中使用,现在已经不推荐使用。它的工作原理是在服务器端将被包含页面的文本内容替换到当前页面中,然后发送给客户端。由于这个过程在页面编译...

    SSI整合案例

    除了`virtual`属性,`include`指令还有`file`属性,它们之间的区别在于`virtual`使用URL路径,而`file`使用文件系统路径。选择哪种取决于你的需求和服务器配置。 通过这个简单的练习,你可以了解到SSI的基本用法。...

    前端开源库-gulp-tag-include

    --#include virtual="..." --&gt;`这样的ASP风格的注释来包含文件,只需在配置中指定即可: ```javascript gulp.task('default', function() { return gulp.src('src/*.html') .pipe(tagInclude({ tag: '!--#...

    基于ssi的小项目

    --#include virtual=... --&gt;`,用于包含其他文件,以及`&lt;!--#config timefmt=... --&gt;`,用于设置日期和时间的格式。通过这种方式,开发者可以轻松地管理网站的头部、底部等公共部分,提高代码复用性和维护性。 在这...

    ssi 添加删除例子

    --#include virtual="header.shtml" --&gt; 用户列表 &lt;!--#exec cmd="java -jar /path/to/script.jar get_users" --&gt; &lt;!--#include virtual="footer.shtml" --&gt; ``` 这里的`&lt;!--#exec cmd="..." --&gt;`指令执行...

    让Apache支持SHTML(SSI)的配置方法.docx

    --#include virtual="/header.shtml"--&gt;`来包含`header.shtml`。通过浏览器访问`index.shtml`,如果配置正确,你应该能看到`header.shtml`的内容被正确地插入到`index.shtml`中。 6. **分站点配置**: 如果你希望...

    ssi的helloworld例子

    --#include virtual="filename" --&gt;`,这个指令会告诉服务器在页面加载时将指定的"filename"文件内容插入到此处。在这个例子中,我们可能有一个名为`hello.ssi`或`hello.shtml`的文件,它包含了这个`#include`指令,...

    SSI.zip_SSI

    --#include virtual="filename"--&gt;`:这可能是最常用的SSI指令,用于包含服务器上的文件。`virtual`参数指定要包含的文件的URL路径。 2. `&lt;!--#include file="filename"--&gt;`:与上一个类似,但这里的`file`参数指定...

    apache SSI教程文档

    --#include virtual="URL" --&gt;`:将指定文件或URL的内容插入到当前文档中,`file`用于相对路径,`virtual`用于绝对路径或基于URL的路径。 3. `&lt;!--#config timefmt="format" --&gt;`:设置日期和时间的显示格式。 4. `...

    ssi例子ssi例子ssi例子ssi例子

    --#include virtual="path"--&gt;`:包含服务器上的指定路径文件。 - `&lt;!--#include file="path"--&gt;`:包含相对于当前文件的路径文件。 - `&lt;!--#exec cmd="command"--&gt;`:执行服务器上的系统命令。 - `&lt;!--#echo var...

    360通用asp防护代码

    --#include virtual="/360_safe3.asp"--&gt; 就可以做到页面防注入、跨站 如果想整站防注,就在网站的一个公用文件中,如数据库链接文件conn.asp中! 添加&lt;!--#include virtual="/360_safe3.asp"--&gt;来调用本代码

Global site tag (gtag.js) - Google Analytics