ファイルを含むASP
#includeディレクティブ
サーバーが実行する前に、#includeディレクティブを使用して、あるASPファイルのコンテンツを別のASPファイルに挿入できます。
#includeディレクティブは、複数のページで再利用される関数、ヘッダー、フッター、または要素を作成するために使用されます。
#includeディレクティブの使用方法
これが「mypage.asp」というファイルです。
<!DOCTYPE html>
<html>
<body>
<h3>Words of Wisdom:</h3>
<p><!--#include file="wisdom.inc"--></p>
<h3>The time is:</h3>
<p><!--#include file="time.inc"--></p>
</body>
</html>
「wisdom.inc」ファイルは次のとおりです。
"One should never increase, beyond what is necessary,
the number of entities required to explain anything."
「time.inc」ファイルは次のとおりです。
<%
Response.Write(Time)
%>
ブラウザでソースコードを見ると、次のようになります。
<!DOCTYPE html>
<html>
<body>
<h3>Words of Wisdom:</h3>
<p>"One should never increase, beyond what is necessary,
the number of entities required to explain anything."</p>
<h3>The time is:</h3>
<p>11:33:42 AM</p>
</body>
</html>
ファイルを含めるための構文
ASPページにファイルを含めるには、コメントタグ内に#includeディレクティブを配置します。
<!--#include virtual="somefilename"-->
or
<!--#include file ="somefilename"-->
仮想キーワード
virtualキーワードを使用して、仮想ディレクトリで始まるパスを示します。
「header.inc」という名前のファイルが/ htmlという名前の仮想ディレクトリにある場合、次の行に「header.inc」の内容が挿入されます。
<!-- #include virtual ="/html/header.inc" -->
ファイルキーワード
fileキーワードを使用して、相対パスを示します。相対パスは、インクルードファイルを含むディレクトリから始まります。
htmlディレクトリにファイルがあり、ファイル「header.inc」がhtml \ headersにある場合、次の行でファイルに「header.inc」が挿入されます。
<!-- #include file ="headers\header.inc" -->
インクルードファイル(headers \ header.inc)へのパスは、インクルードファイルを基準にしていることに注意してください。この#includeステートメントを含むファイルがhtmlディレクトリにない場合、ステートメントは機能しません。
ヒントと注意
上記のセクションでは、インクルードファイルにファイル拡張子「.inc」を使用しました。ユーザーがINCファイルを直接参照しようとすると、その内容が表示されることに注意してください。含まれているファイルに機密情報やユーザーに見せたくない情報が含まれている場合は、ASP拡張機能を使用することをお勧めします。ASPファイルのソースコードは、解釈後に表示されなくなります。インクルードされたファイルには他のファイルを含めることもでき、1つのASPファイルに同じファイルを複数回含めることができます。
重要:インクルードされたファイルは、スクリプトが実行される前に処理および挿入されます。ASPは、変数に値を割り当てる前に#includeディレクティブを実行するため、次のスクリプトは機能しません。
<%
fname="header.inc"
%>
<!--#include file="<%fname%>"-->
INCファイルでスクリプト区切り文字を開いたり閉じたりすることはできません。次のスクリプトは機能しません。
<%
For i = 1 To n
<!--#include file="count.inc"-->
Next
%>
ただし、このスクリプトは機能します。
<% For i = 1 to n %>
<!--#include file="count.inc" -->
<% Next %>