這裡說的“相對路徑”是相對於“主調檔案”所在的檔案夾。
#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"是錯誤的。