PHP Подключение файлов
Оператор include
(или require
) берет весь текст / код / разметку, который существует в указанном файле, и копирует его в файл, который использует оператор include
.
Подключение файлов очень полезно, если вы хотите подключить один и тот же PHP, HTML или текст на нескольких страницах веб-сайта.
PHP операторы include и require
Можно вставить содержимое одного PHP-файла в другой PHP-файл (до того, как сервер его запустит) с помощью оператора include
или require
.
Операторы include
и require
идентичны, за исключением случаев отказа:
require
выдаст фатальную ошибку (E_COMPILE_ERROR) и остановит выполнение скриптаinclude
выдаст только предупреждение (E_WARNING) и продолжит выполнение скрипта
Итак, если вы хотите, чтобы выполнение продолжалось и показывало пользователям вывод, даже если файл включения отсутствует, используйте оператор include
. В противном случае, в случае FrameWork, CMS или сложной кодировки приложения PHP, всегда используйте оператор require
для подключения ключевого файла в поток выполнения. Это поможет избежать нарушения безопасности и целостности вашего приложения, просто на случай, если один ключевой файл случайно пропадёт.
Подключение файлов экономит много работы. Это означает, что вы можете создать стандартный заголовок (header), нижний колонтитул (footer) или файл меню для всех ваших веб-страниц. Затем, когда требуется обновить заголовок, вы можете обновить только файл заголовка. Также и другие идентичные части веб-страницы.
Синтаксис
include 'имя файла';
или
require 'имя файла';
PHP Примеры include
Пример 1
Предположим, у нас есть стандартный файл нижнего колонтитула с именем "footer.html", который выглядит следующим образом:
<?php
echo "<p>Copyright © 1999-" . date("Y") . " W3Schools</p>";
?>
Чтобы подключить файл нижнего колонтитула (footer.html) к странице, используйте оператор include
:
Пример
<html>
<body>
<h1>Welcome to my home page!</h1>
<p>Some text.</p>
<p>Some more text.</p>
<?php include 'footer.html';?>
</body>
</html>
Выполнить пример »
Пример 2
Предположим, у нас есть стандартный файл меню с именем "menu.html":
<?php
echo '<a href="/default.asp">Home</a> -
<a href="/html/default.asp">HTML Tutorial</a> -
<a href="/css/default.asp">CSS Tutorial</a> -
<a href="/js/default.asp">JavaScript Tutorial</a> -
<a href="default.asp">PHP Tutorial</a>';
?>
Все страницы на веб-сайте должны использовать этот файл меню. Вот как это можно сделать (мы используем элемент <div>
, чтобы меню потом можно было легко стилизовать с помощью CSS):
Пример
<html>
<body>
<div class="menu">
<?php include 'menu.html';?>
</div>
<h1>Welcome to my home page!</h1>
<p>Some text.</p>
<p>Some more text.</p>
</body>
</html>
Выполнить пример »
Пример 3
Предположим, у нас есть файл с именем "vars.html", с определенными переменными:
<?php
$color='red';
$car='BMW';
?>
Затем, если мы подключим файл "vars.html", переменные могут быть использованы в вызывающем файле:
Пример
<html>
<body>
<h1>Welcome to my home page!</h1>
<?php include 'vars.html';
echo "I have a $color $car.";
?>
</body>
</html>
Выполнить пример »
PHP include и require
Оператор require
также используется для подключения файла в код PHP.
Тем не менее, есть одно большое различие между include и require; если файл подключен с помощью оператора include
и PHP не сможет его найти, скрипт продолжит выполняться:
Пример
<html>
<body>
<h1>Welcome to my home page!</h1>
<?php include 'noFileExists.html';
echo "I have a $color $car.";
?>
</body>
</html>
Выполнить пример »
Если мы сделаем тот же пример, используя оператор require
, оператор echo
не будет выполнен, поскольку выполнение скрипта прекращается после того, как оператор require
вернул фатальную ошибку (fatal error):
Пример
<html>
<body>
<h1>Welcome to my home page!</h1>
<?php require 'noFileExists.html';
echo "I have a $color $car.";
?>
</body>
</html>
Выполнить пример »
Используйте require
когда файл требуется приложением.
Используйте include
когда файл не требуется, и приложение должно продолжаться, если файл не найден.