Урок 7. PHP — Include

Если не вдаваться в подробности PHP, то кратко, команда include принимает имя файла и просто вставляет его содержимое в сценарий, который этот include вызвал.

Почему это круто? Ну, в первую очередь, это означает, что вы можете напечатать общий заголовок или меню, которые должны быть на каждой вашей странице, а потом просто подключить их с помощью include. Затем, когда вы добавляете новую страницу на сайт, то вместо того, чтобы обновлять ссылки на нескольких страницах, вы можете просто изменить файл, который содержит меню.

Пример использования команды include

Скажем, мы хотим создать общий файл меню, чтобы все наши страницы его использовали. Так как мы хотим создать общий файл меню, то давайте сохраним его как «menu.php». Вот как он будет выглядеть:

<html>
<body>
<a href="https://www.example.com/index.php">Главная</a> - 
<a href="https://www.example.com/about.php">О нас</a> - 
<a href="https://www.example.com/links.php">Ссылки</a> - 
<a href="https://www.example.com/contact.php">Контакты</a> <br />

Сохранить файл как «menu.php». Теперь создайте новый файл «index.php» в том же каталоге, что и «menu.php». Здесь мы воспользуемся этой командой include чтобы добавить наше общее меню.

<?php include("menu.php"); ?>
<p>This is my home page that uses a common menu to save me time when I add
new pages to my website!</p>
</body>
</html>

Затем, запустив файл index.php мы получим полноценную страничку с подгруженным меню.
Можно сделать то же самое для «about.php», «links.php» и «contact.php». Подумайте только, как ужасно было бы, если у вас хотя бы 15 страниц с общим меню, и вы решили добавить еще одну запись в это меню. Вы должны были бы пойти и вручную редактировать каждый файл, чтобы добавить эту новую запись, но при использовании include, вы просто должны изменить «menu.php» и все ваши проблемы будут решены. Это ли не чудо? :D

Как все это видят посетители?

Если мы использовали команду include для вставки меню на каждую из наших веб-страниц, что будет видеть посетитель в исходном коде «index.php»? Да ничего, обычный html текст, т.к. инклуд работает просто как копипаст.

Поведение include

Он вставляет содержимое одного файла в другой и все. Очень удобная вещь! Include весьма полезен, если вы хотите включить тот же PHP или HTML текст или сегмент сразу в несколько страниц сайта. Команда инклуд широко используется разработчиками PHP, так же как и Echo.

Комментарии | Содержание | Условный оператор

Комментарии:

  1. Дмитрий — 21.04.2013 22:30

    Подскажите, как должен называться файл если хочу создать еще одну страницу в меню например, «об авторе» а уже есть такие как: главная,новости,чат,faq,обратная связь. разве можно иметь 2 фала index.php? просто еще одна страничка в меню.

  2. myblaze 22.04.2013 17:05

    Тут получается такая система: index.php всего 1, а в него внутри подгружаются остальные страницы с помощью include. Например используем в файле index.php команду include(«menu.php») и он подгрузит в тело страницы файла index.php содержимое файла menu.php. Как то так =) Если не ясно то постараюсь сделать пример чуть позже.

  3. Дмитрий — 23.04.2013 00:09

    Урааа получилосььь)))!!!! только по другому и так как мне надо. Вообщем я нашел файл, в котором прописаны -(header) (faq,чат,новости итд, добавил строку аналогично выше стоящим, назавал, и создал отдельный PHP-фал — вуаля! новая страница получилась.

  4. myblaze 23.04.2013 17:05

    Дмитрий, ну примерно так оно и работает)

  5. Marina — 21.07.2013 22:24

    Привет!
    Меню то получилось, но при клике на «главная» или «о себе» на ту страничку не перехожу. Что не так?

  6. Marina — 22.07.2013 09:03

    Если убрать «http://www.example.com/» то все работает.Почему?

  7. Marina — 22.07.2013 09:32

    заработало!

  8. Stanislav — 18.09.2013 20:20

    Если хотите сделать ссылку на главную страницу сайта < a h r e f = " / " Н а г л а в н у ю а если на другую страницу сайта S a i t 2 /

  9. Farhad — 30.01.2014 18:42

    Начинал с практики, щас читаю теорию и так легко запоминается, тойст очень понятно. Спасибо автору!

  10. Иван — 12.04.2014 13:42

    Огромное спасибо ! Знал бы 4 года назад — не пришлось бы юзать Joomla !

  11. Иван — 12.04.2014 13:50

    А как в меню выбрать блок для загрузки статей?
    target=»#article» ?

  12. myblaze 13.04.2014 15:35

    Иван, что вы имеете в виду под «блоком для загрузки статей»? =)

  13. Ангел — 22.03.2018 16:05

    Что-то не пойму. Какие критерии нужны, чтобы меню вставилось? У меня не отображается….

  14. Ангел — 22.03.2018 21:31

    Это глюк Денвера, на xampp все работает прекрасно.

Добавить комментарий