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