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, щоб включити файл ключа в потік виконання. Це допоможе уникнути загрози безпеці та цілісності вашої програми на випадок, якщо один файл ключа буде випадково відсутній.
Включення файлів заощаджує багато роботи. Це означає, що ви можете створити стандартний верхній, нижній колонтитул або файл меню для всіх своїх вебсторінок. Потім, коли потрібно оновити заголовок, ви можете оновити лише файл включення заголовка.
Синтаксис
include 'назвафайла';
або
require 'назвафайла';
PHP Приклади include
Приклад 1
Припустімо, що у нас є стандартний файл нижнього колонтитула під назвою "footer.php", який виглядає так:
<?php
echo "<p>Copyright © 1999-" . date("Y") . " W3Schools.com</p>";
?>
Щоб включити файл нижнього колонтитула на сторінку, скористайтеся оператором include
:
Приклад
<html>
<body>
<h1>Ласкаво прошу на мою домашню вебсторінку!</h1>
<p>Слава Україні!</p>
<p>Героям слава!</p>
<?php include 'footer.php';?>
</body>
</html>
Виконати приклад »Приклад 2
Припустимо, що у нас є стандартний файл меню під назвою "menu.php":
<?php echo
'<a href="/index.html">Головна</a> -
<a href="/html/index.html">HTML Підручник</a> -
<a href="/css/index.html">CSS Підручник</a> -
<a href="/js/index.html">JavaScript Підручник</a> -
<a href="index.html">PHP Підручник</a>';
?>
Усі сторінки вебсайту мають використовувати цей файл меню. Ось як це можна зробити (ми використовуємо елемент <div>, щоб пізніше можна було легко стилізувати меню за допомогою CSS):
Приклад
<html>
<body>
<div class="menu">
<?php include 'menu.php';?>
</div>
<h1>Ласкаво прошу на мою персональну вебсторінку!</h1>
<p>Україна - понад усе!</p>
<p>Все буде Україна!</p>
</body>
</html>
Виконати приклад »Приклад 3
Припустімо, що у нас є файл "vars.php", де визначено кілька змінних:
<?php
$color='red';
$car='BMW';
?>
Тоді, якщо ми включимо "vars.php" файл, змінні можна використовувати у файлі виклику:
Приклад
<html>
<body>
<h1>Ласкаво прошу на мою вебсторінку!</h1>
<?php include 'vars.php';
echo "Я маю $color $car.";
?>
</body>
</html>
Виконати приклад »PHP include та require
Інструкція require
також використовується для включення файлу в код PHP.
Однак між include (включенням) та require (вимаганням) є одна велика різниця; якщо файл включено інструкцією include
і PHP не може його знайти, скрипт продовжить виконання:
Приклад
<html>
<body>
<h1>Ласкаво прошу на мою вебсторінку!</h1>
<?php include 'noFileExists.php';
echo "Я маю $color $car.";
?>
</body>
</html>
Виконати приклад »Якщо ми зробимо той самий приклад за допомогою інструкції require
, інструкція echo не буде виконана, оскільки виконання скрипту припиняється після інструкції require
, повернувши fatal error (фатальну помилку):
Приклад
<html>
<body>
<h1>Ласкаво прошу на мою вебсторінку!</h1>
<?php require 'noFileExists.php';
echo "Я маю $color $car.";
?>
</body>
</html>
Виконати приклад »Використовуйте require
, коли файл потрібен програмі.
Використовуйте include
, коли файл не потрібний, і програма має продовжити роботу, якщо файл не знайдено.