Серия лекций ASP (14) содержит файлы
Автор:Eve Cole
Время обновления:2009-05-30 19:58:52
Директива SSI предоставляет пользователям возможность вставлять содержимое одного файла в другой перед обработкой веб-сервером. Для этого механизма ASP использует только директиву #include. Чтобы вставить файл в файл .asp, используйте следующий синтаксис:
<!--#include virtual file ="имя_файла"-->
Ключевые слова virtual и file указывают тип пути, используемого для включения файла, а имя файла — это путь и имя файла, который вы хотите включить.
Включаемые файлы не требуют определенного расширения, однако хорошей практикой программирования является присвоение включенным файлам расширения .inc, чтобы отличать их от файлов других типов.
Использование ключевого слова Virtual Используйте ключевое слово Virtual, чтобы указать, что путь начинается в виртуальном каталоге. Например, если файл с именем Footer.inc принадлежит виртуальному каталогу /Myapp, следующая строка вставит содержимое Footer.inc в файл, содержащий эту строку:
<!--#include virtual ="/myapp/footer.inc"-->
Использование ключевого слова файла Используйте ключевое слово файла, чтобы указать использование относительных путей. Относительные пути начинаются с каталога, содержащего включаемый файл. Например, если ваши файлы находятся в каталоге Myapp, а файл Header1.inc — в MyappHeaders, следующая строка вставит Header1.inc в ваш файл:
<!--#include file ="headers/header1.inc"-->
Обратите внимание, что путь к включенному файлу Headers/header1.inc указывается относительно включаемого файла; если сценарий, содержащий оператор #include, не находится в каталоге /Myapp, этот оператор не будет иметь никакого эффекта.
Если в диспетчере служб Интернета выбран параметр «Включить верхний каталог», вы также можете использовать ключевое слово file и синтаксис ../ для включения файлов в родительский каталог, то есть верхний каталог.
Расположение включенных файлов. Включенные файлы могут находиться в каталоге на вашем веб-сайте или за его пределами. Обычно включенные файлы должны находиться в каталоге вашего веб-сайта. Если включенный файл находится на вашем веб-сайте, изменения во включенном файле будут отображены при следующем запросе браузером включенного файла. Однако если включенный файл находится за пределами вашего веб-сайта, изменение не будет отражено до тех пор, пока не будет перезапущено приложение ASP или веб-сервер. ASP обнаруживает изменения во всех включенных файлах в пространстве имен приложения (в домашнем каталоге приложения).
Включенные файлы: советы и предупреждения Включаемый файл может также включать в себя другие файлы. Файл .asp может включать один и тот же файл несколько раз, если директивы #include не вызывают циклов. Например, если файл First.asp содержит файл Second.inc, Second.inc не должен содержать First.asp. Файл не может содержать самого себя. ASP обнаруживает такие циклические или вложенные ошибки и при их обнаружении генерирует сообщение об ошибке и прекращает обработку запрошенного файла .asp.
ASP включает файл перед выполнением команды сценария. Поэтому вы не можете использовать команды сценария для создания имен включаемых файлов. Например, следующий сценарий не откроет Header1.inc, поскольку ASP выполняет директиву #include до того, как присваивает имя файла имени переменной.
<!-- Этот скрипт завершится неудачно -->
<% name=(header1 & ".inc") %>
<!--#include file="<%= name %>"-->
Команды и процедуры сценария должны быть полностью заключены в разделители сценария <% и %>, теги HTML <SCRIPT> и </SCRIPT> или теги HTML <OBJECT> и </OBJECT>. То есть вы не можете открыть разделитель сценария во включаемом файле .asp, а затем закрыть его во включаемом файле; сценарий или команда сценария должны быть целостным блоком; Например, следующий скрипт не запустится:
<!-- Этот скрипт завершится неудачно -->
<%
Для i = 1 К n
утверждения в основном файле
<!--#include file="header1.inc" -->
Следующий
%>
Следующий скрипт будет работать нормально:
<%
Для я = от 1 до n
утверждения в основном файле
%>
<!--#include file="header1.inc" -->
<% Следующий %>