Подключение сторонних файлов на php с помощью require и include

минута на чтение

При создании сайтов без подключения файлов не обойтись, иначе шапку портала или футер придётся создавать и менять при необходимости на каждой странице. Гораздо удобней создать одну шапку, а потом просто подключать её во всех документах. Рассмотрим как это возможно эффективно сделать на языке программирования PHP и убедимся, что это действительно работает.

Создадим 3 файла: index.php, header.html и footer.html.

В header.html запишем такой код:

1
2
3
4
<html>
<head>
<title>Документ из двух частей</title>
</head>

<body>Первая половина документа

В первом документе не будем ставить закрывающих тегов. Для этого во втором файле – в footer.html – запишем продолжение:

Вторая половина документа</body>

</html>

В файле index.php запишем такой код:

1
2
3
require "header.html";
echo <br>Здесь происходит соединение двух частей документа<br>;
require "footer.html";

На экране выйдут следующие фразы:

  • Первая половина документа;
  • Здесь происходит соединение двух частей документа;
  • Вторая половина документа.

Теперь проведём другой эксперимент. Создадим два документа: index.php и text.php.

В text.php напишем:

1
2
3
4
5
6
7
8
<html>
<head>
<title><?php echo $title;?></title>
</head>
<body>
<?php echo $body>
</body>
</html>

Теперь в файле index.php можно менять значения для $title и $body, которые будут автоматически подставляться в text.php.

Для этого в index.php пишем:

1
2
3
4
5
<?php
require "text.php";
$title = "Заголовок";
$body = "Текст";
?>

Теперь в text.php будет title «Заголовок», а на экране отобразиться слово «Текст». Все эти значения можно менять в файле index.php.

Мы подключали документы с помощью команды require, но у неё есть одна неприятная особенность. Если подключён файл, который реально не существует, то компилятор выдаст ошибку и дальше код обрабатывать не будет. Поэтому для подключения сторонних файлов лучше использовать команду include, которая не выдаёт таких багов.


Facebook Vk Ok Twitter LinkedIn Telegram

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

Нет комментариев