ASP 강의 시리즈(14) 파일 포함
저자:Eve Cole
업데이트 시간:2009-05-30 19:58:52
SSI 지시문은 웹 서버에서 처리하기 전에 한 파일의 내용을 다른 파일에 삽입하는 방법을 사용자에게 제공합니다. ASP는 이 메커니즘에 #include 지시문만 사용합니다. .asp 파일에 파일을 삽입하려면 다음 구문을 사용하십시오.
<!--#include 가상 파일 ="파일 이름"-->
virtual 및 file 키워드는 파일을 포함하는 데 사용되는 경로 유형을 나타내며, filename은 포함하려는 파일의 경로와 이름입니다.
포함된 파일에는 특정 파일 확장자가 필요하지 않습니다. 그러나 포함된 파일에 .inc 확장자를 지정하여 다른 유형의 파일과 구별하는 것이 좋습니다.
Virtual 키워드 사용 Virtual 키워드를 사용하면 경로가 가상 디렉터리에서 시작된다는 것을 나타낼 수 있습니다. 예를 들어, Footer.inc라는 파일이 /Myapp이라는 가상 디렉터리에 속하는 경우 다음 줄은 Footer.inc의 내용을 해당 줄이 포함된 파일에 삽입합니다.
<!--#include 가상 ="/myapp/footer.inc"-->
File 키워드 사용 상대 경로의 사용을 나타내려면 file 키워드를 사용하십시오. 상대 경로는 포함 파일이 포함된 디렉터리에서 시작됩니다. 예를 들어 파일이 Myapp 디렉터리에 있고 Header1.inc 파일이 MyappHeaders에 있는 경우 다음 줄은 Header1.inc를 파일에 삽입합니다.
<!--#include 파일 ="headers/header1.inc"-->
포함된 파일 Headers/header1.inc의 경로는 포함 파일에 상대적입니다. #include 문이 포함된 스크립트가 /Myapp 디렉터리에 없으면 해당 문은 아무 효과도 없습니다.
인터넷 서비스 관리자에서 "상위 디렉터리 활성화" 옵션을 선택한 경우 파일 키워드와 ../ 구문을 사용하여 상위 디렉터리, 즉 상위 디렉터리에 있는 파일을 포함할 수도 있습니다.
포함된 파일의 위치 포함된 파일은 웹 사이트 내의 디렉터리나 웹 사이트 외부의 디렉터리에 있을 수 있습니다. 일반적으로 웹 사이트의 디렉터리에 포함된 파일이 있어야 합니다. 포함된 파일이 웹 사이트 내에 있는 경우 다음에 브라우저가 포함된 파일을 요청할 때 포함된 파일에 대한 변경 사항이 표시됩니다. 그러나 포함된 파일이 웹 사이트 외부에 있으면 ASP 응용 프로그램을 다시 시작하거나 웹 서버를 다시 시작할 때까지 변경 내용이 반영되지 않습니다. ASP는 응용 프로그램 네임스페이스(응용 프로그램의 홈 디렉터리 아래)에 포함된 모든 파일의 변경 사항을 감지합니다.
포함된 파일: 팁 및 경고 포함된 파일에는 다른 파일도 포함될 수 있습니다. #include 지시문으로 인해 루프가 발생하지 않으면 .asp 파일에 동일한 파일이 여러 번 포함될 수 있습니다. 예를 들어, First.asp 파일에 Second.inc 파일이 포함되어 있으면 Second.inc에는 First.asp가 포함되어서는 안 됩니다. 파일은 자신을 포함할 수 없습니다. ASP는 이러한 루프 또는 중첩 오류를 감지하고, 감지되면 오류 메시지를 생성하고 요청된 .asp 파일 처리를 중지합니다.
ASP는 스크립트 명령을 실행하기 전에 파일을 포함합니다. 따라서 스크립트 명령을 사용하여 포함된 파일의 이름을 만들 수 없습니다. 예를 들어, 다음 스크립트는 ASP가 변수 이름에 파일 이름을 할당하기 전에 #include 지시문을 실행하기 때문에 Header1.inc를 열지 않습니다.
<!-- 이 스크립트는 실패합니다 -->
<% 이름=(header1 & ".inc") %>
<!--#include file="<%= 이름 %>"-->
스크립트 명령 및 프로시저는 스크립트 구분 기호 <% 및 %>, HTML 태그 <SCRIPT> 및 </SCRIPT> 또는 HTML 태그 <OBJECT> 및 </OBJECT>로 완전히 묶어야 합니다. 즉, .asp 포함 파일에서 스크립트 구분 기호를 열 수 없으며 포함된 파일에서 닫을 수 없습니다. 스크립트 또는 스크립트 명령은 완전한 단위여야 합니다. 예를 들어 다음 스크립트는 실행되지 않습니다.
<!-- 이 스크립트는 실패합니다 -->
<%
i = 1에서 n의 경우
주 파일의 명령문
<!--#include 파일="header1.inc" -->
다음
%>
다음 스크립트는 정상적으로 실행됩니다.
<%
i = 1 ~ n인 경우
주 파일의 명령문
%>
<!--#include 파일="header1.inc" -->
<% 다음 %>