程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP入門教程 >> ASP系列講座(十四)包含文件

ASP系列講座(十四)包含文件

編輯:ASP入門教程
SSI 指令為用戶提供在 Web 服務器處理之前將一個文件的內容插入到另一個文件的方法。ASP 只使用這一機制的 #include 指令。要在 .ASP 文件中插入一個文件,使用下面的語法:

<!--#include virtual | file ="filename"--> 
virtual 和 file 關鍵字指示用來包含該文件的路徑的類型,filename 是您想包含的文件的路徑和名稱。

被包含文件不要求專門的文件擴展名;但是,為被包含文件賦予 .inc 擴展名以便和其他類型文件相區分是一個良好的編程習慣。

使用 Virtual 關鍵字
使用 Virtual 關鍵字指出路徑開始於虛擬目錄。例如,如果一個被命名為 Footer.inc 的文件屬於一個名為 /Myapp 的虛擬目錄,則下面的一行將把 Footer.inc 的內容插入到包含該行的文件中:

<!--#include virtual ="/myapp/footer.inc"--> 
使用 File 關鍵字
使用 file 關鍵字指示使用相對路徑。相對路徑開始於含有該包含文件的目錄。例如,如果您的文件位於目錄 Myapp 中,而文件 Header1.inc 在 Myapp\Headers 中,下面的一行將把 Header1.inc 插入到您的文件中:

<!--#include file ="headers/header1.inc"-->
注意,到被包含文件 Headers/header1.inc 的路徑是相對於包含文件的;如果包含 #include 語句的腳本不在 /Myapp 目錄中,那麼該語句將不起作用。

如果在 Internet 服務管理器中的“啟用上層目錄”選項被選中,則也可以使用 file 關鍵字和 ../ 語法包含父目錄即上一層目錄中的文件。

被包含文件的位置
被包含文件可以在您的 Web 站點內的某個目錄中,也可以在您的 Web 站點之外。通常,您應該使被包含文件位於 Web 站點的目錄中。如果一個被包含文件位於您的 Web 站點內,則當浏覽器下次請求包含文件時,將顯示對被包含文件的改變。但是,如果被包含文件位於您的 Web 站點之外,直到 ASP 應用程序重新啟動或 Web 服務器重新啟動時,這種改變才能體現出來。ASP 檢測在應用程序命名空間中(在應用程序的起始目錄下)的任何包含文件的改變。

包含文件:提示和警告
一個被包含文件也可以包含其他的文件。如果 #include 指令沒有導致循環,一個 .asp 文件可以多次包括同一個文件。例如,如果文件 First.asp 包含文件 Second.inc,則 Second.inc 一定不能再包含 First.asp。一個文件也不能包含自身。ASP 檢測此類循環或嵌套錯誤,並在檢測到時產生一個錯誤消息,同時停止處理被請求的 .ASP 文件。

ASP 在執行腳本命令之前包含文件。因此,不能用腳本命令去創建被包含文件的名稱。例如,下面的腳本將不能打開 Header1.inc,因為 ASP 會在它分配一個文件名給變量 name 之前先執行 #include 指令。

<!-- This script will fail -->
<% name=(header1 & ".inc") %> 
<!--#include file="<%= name %>"-->
腳本命令和過程必須完全包含在腳本定界符 <% 和 %> 、HTML 標記 <SCRIPT> 和 </SCRIPT> 或 Html 標記 <OBJECT> 和 </OBJECT> 中。也就是說,不能在一個 .ASP 包含文件中打開一個腳本定界符,然後在一個被包含的文件中才關閉該定界符;腳本或腳本命令必須是一個完整的單元。例如,下面的腳本將無法運行:

<!-- This script will fail -->
<%
For i = 1 To n
  statements in main file
  <!--#include file="header1.inc" -->
Next
%> 
下面的腳本將正常運行:

<% 
For i = 1 to n
  statements in main file
%> 
<!--#include file="header1.inc" -->
<% Next %> 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved