Оператор PHP include ()
Автор: Андрей Краснокутский
Дата: 2012-10-14 Инструкция include()
Довольно часто при создании реального сайта на PHP возникает необходимость использования одного и того же участка кода (сценария), но на разных web-страницах (файлах). Для реализации такой задачи использует оператор: include (). Давайте разберем подробнее работу оператора include().
В одной из прошлых статей: Чем отличается Статический сайт от Динамического сайта мы уже говорили, что каждая из web-страниц динамический сайт собирается как бы из отдельных кусочков (блоков).
В такие блоки, а точнее в отдельные файлы можно вынести часто повторяющиеся участки кода. Рассмотрим упрощенную схему (рисунок 1) web-страницы php-сайта:

Рисунок 1
На рисунке 1 вся web-страница, разбита на отдельные блоки (файлы): header.php (шапка), footer.php (подвал), menu.php (меню), content.php (основное содержание web-страницы). Это и есть повторяющиеся части web-страницы, код которых можно вынести в отдельные файлы.
Что это дает? Допустим у Вас на сайте несколько десятков или сотен разных страниц. К примеру у Вас возникает необходимость изменить шапку сайта. Вам достаточно внести изменения только в один файл (header.php) и обновить его на сервере. И теперь новый обновленный файл будет подставляться во все страницы сайта, а следовательно и обновится внешний вид всего сайта. Согласитесь, что исправить один файл гораздо проще и быстрее чем несколько десятков или сотен файлов.
Как практически реализовать такую конструкцию? Один из способ реализации задачи с помощью оператора include(). Синтаксис инструкции include представлен в Листинге 1.
Листинг 1.
<?php
include ("header.php");
?>
|
В нужном месте web-страницы (в данном случае на месте шапки сайта) указываем код Листинга 1. А сесь код, который отностится к шапке сайта, выностится в отдельный файл header.php.
В данном случае файл header.php лежит в корневой папке сайта, но обычно создается отдельная папка, например blocks, куда выносятся все аналогичные файлы, подключаемые с помощью оператора include(). Но теперь уже путь до файла header.php будет выглядеть вот так: blocks/header.php смотрите Листинг 2:
Листинг 2.
<?php include ("blocks/header.php"); ?>
|
В скобках указывается путь до выносимого файла. Точно таким же образом в отдельные файлы выносятся и другие части (блоки) сайта: footer.php (подвал), menu.php (меню) и т.д.
Что же касается основное содержание web-страницы (файл content.php), то обычно эту информацию размещают в базе данных (БД), но об этом мы поговорим в одном из следующих уроков.
Упрощенная схема построения web-страницы рисунка 1, представлен в Листинге 3.
Листинг 3.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head></head>
<body>
<!-- Вставляем графическую шапку сайта -->
<?php include ("blocks/header.php"); ?>
<!-- Вставляем левый блок сайта (навигация) -->
<?php include ("blocks/menu.php"); ?>
<!-- Вставляем текст основной страницы -->
<?php (content.php); ?>
<!-- Вставляем нижний графический блок сайта -->
<?php include ("blocks/footer.php"); ?>
</body>
</html>
|
Мы рассмотрели упрощенную блок-схему динамической web-страницы сайта. На практике таких вставой может быть сколько угодно. А в выносных файлах, подключаемых с помощью оператора include(), может находится все что угодно: и небольшие вставки кода в 1 - 2 строчки и целые скрипты содержащие несколько страниц кода.
Когда интерпритатор PHP на сервере встречает в коде оператор include, он обращается к указанному файлу, обрабатывает его (выполняет все что написано в выносном файле), подставляет результаты в основную web-страницу и идет дальше выполнять программу.
Всего Вам доброго.
Читайте так же:
Как и Сколько можно заработать в Интернете? Специальный отчет.
Скрипт: Приветствие + Сегодняшняя дата
Как сделать красивую 3D обложку. Практическое руководство.
Ротатор рекламных блоков на сайте.
Как определить: Достойный проект или очередной развод для лохов?
Просмотров: 16575
Андрей, спасибо за оперативный и исчерпывающий ответ на мой вопрос. Очень бы хотелось, в рамках изучения PHP, узнать как установить на сайт:
форму регистрации (с подтверждением через e-mail), форму доступа на сайт для зарегистрированных пользователей и форму доступа на сайт по паролю.
С уважением и благодарностью Виктор, dpsite.ru
ВИКТОРУ. По большому счету используя оператор <?php include(); ?> можно подставить любой файл, в том числе и footer.html, т.е. с расширением .html. Но здесь нужно следить, чтобы подставляемый код вписывался в существующий код web-страницы, ведь мы по сути дела добавляем в исходный файл дополнительную инструкцию (сценарий/программу). На практике чаще всего сначала пишется код исходной web-страницы, а затем нужные части (блоки) кода просто вырезают и выносят в другой файл. В таком варианте лучше использовать файл с расширение .php, т.е. footer.php
Я солидарен со всеми,что изложено всё отлично.Много полезной информации.Спасибо всего хорошего.
Ваш сайт один из тех редких интернет-ресурсов, который действительно содержит полезную, интересную, очень нужную и легко доступную для понимания информацию по технологиям сайтостроения. PHP - это следующая ступень после HTML и CSS.
PHP - это очень нужно!
А теперь вопрос.
Можно ли оператором include вставить файл типа HTML, например, допустимо ли в языке PHP выражение:
<?php include ("footer.html"); ?>
C уважением и благодарностью Виктор Коротченко, dpsite.ru.
Спасибо.Андрей.Очень просто о сложном!По привычке закрывать такие темы,как трудные для понимания некоторым,я поняла с первого раза! Спасибо.
Доброго времени суток Андрей! хороший подход к изучению php? но это моё мнение, я думаю что вам над записать диск, или книгу по PHP.
вы зарекомендовали уже себя с хорошей стороны! Что я вам могу пожелать только успехов в нашей не лёгкой работе.
С уважением Александр.
|