有不少朋友問(wèn)#include file 和 #include virtual的區別,介紹這方面的文章也有不少,在此將二者的區別再總結一下,僅供參考:
1。#include file 包含文件的相對路徑,#include virtual包含文件的虛擬路徑。
2。在同一個(gè)虛擬目錄內,<!--#include file="file.asp"-->和<!--#include virtual="file.asp"-->效果是相同的,但假設虛擬目錄名為myweb,則<!--#include virtual="myweb/file.asp"-->也可以通過(guò)調試,但我們知道<!--#include file="myweb/file.asp"-->是絕對要報錯的。
3。如果一個(gè)站點(diǎn)下有2個(gè)虛擬目錄myweb1和myweb2,myweb1下有文件file1.asp,myweb2下有文件file2.asp,如果file1.asp要調用file2.asp,那么在file1.asp中要這樣寫(xiě):<!--#include virtual="myweb2/file2.asp"-->,在這種情況下用#include file是無(wú)法實(shí)現的,用<!--#include file="myweb2/file2.asp"-->必然報錯。相反,在myweb2的文件中包含myweb1中的文件也是一樣。如果該被包含文件在某個(gè)文件夾下面,只要在虛擬路徑中加上該文件夾即可。
4。不論用#include file 還是 #include virtual,在路徑中用“/”還是“\”或者二者交叉使用都不會(huì )影響編譯效果,程序會(huì )順利執行。
5。以上情況不適用于2個(gè)站點(diǎn)文件的相互調用,而且在同一個(gè)站點(diǎn)內,<!--#include file="file.asp"-->和<!--#include virtual="file.asp"-->等效,但假設站點(diǎn)名為website,使用<!--#include virtual="website/file.asp"-->是錯誤的。