Подключить файлы в PHP include и require.
В PHP подключаем файлы операторами include и require.
В этом уроке мы научимся подключать страницы. Для того чтобы подключить файлы в php используем операторы include и require.
Оба этих оператора подключают файлы, разница лишь в том что если require не найдет подключаемый файл, выдаст ошибку и остановит сценарий. Его используют когда подключаемые файлы обязательны для работы, а include позволяет подключать файлы динамически во время выполнения сценария и если файла нет просто пропустит его, и продолжит выполнять код дальше. У этих операторов есть конструкция однократного включения include_once и require_once, если вы подключили файл этим оператором, то второй раз он уже не подключится. Пример
Создадим в корневой директории файлы
index.php, test1.php и папку file и в ней test2.php
В тест1 запишем
echo ' <p> Это файл в корневой директории test 1 ';
В тест2
echo ' <p> Это файл test 2 в папке file ';
В index.php подключим файл test1.php в корневой папке, то есть в той что и интекс и подключим test2.php который в папке file.
include ('test1.php'); // 1 подключаем файл тест1 в той же папке, использование как функции
require 'file/test2.php'; // 2 подключаем тест2 в папке файл.
include_once 'test1.php '; // 3 подключаем файл конструкцией once
require 'file/test.php'; // 4 подключаем файл котрого нет оператором require
Получаем
Это файл в корневой директории test 1 // 1 подключился
Это файл test 2 в папке file // 2 подключился
// 3 не подключился, так как он уже был подключен в 1.
Warning: require(file/test.php): // 4 ошибка так как такого файла нет и скрипт прекратил свою работу.
Добавим в файл test2.php, внизу переменную с текстом.
$test = ' Это тестовая строка в файле тест2 ';
И выведем эту переменную в конце файла index.php с тегами html заглавными буквами.
<h1> <?= $test ?> </h1>
Такая запись используется для вставок в html код короткого кода php. Если у вас ошибка значить вы не закрыли предыдущий код php.
Запись появится в файле index.php, так как мы подключили к индексу файл тест2. То и можем обращаться к его содержимому. Подключение должно быть всегда перед обращением к данным файла.
Подключить файл на директорию выше
Создадим в папке file файл test3.php и в него подключим файл index.php
include '../index.php'; // подключили файл index.php находящийся в корневой папке
Откроем файл тест3 который лежит /file/test3.php и увидим все тоже что и в файле индекс.
Если мы переподключим файлы друг в друга, то у нас выведет ошибку.
В файл tect2.php запишем проверочную функцию file_exists
Для проверки находится ли в папке файл используем встроенную функцию, запишем ее как тернарный оператор.
echo (file_exists("../index.php")) ? " Существует" : " Не существует";
Теперь зайдя /file/test2.php в верху справа строки (Это файл test 2 в папке file) будет надпись Существует, а при переходе на index.php, Не существует.
Следует всегда подключать файлы, перед использованием данных из них. В видео уроке создание сайта, мы разберем правильное подключение зависимых файлов к нашему макету.
Полезные константы
В PHP есть полезные встроенные константы, которые пригодятся для использования в пути к подключаемым категориям и файлам. Записывается так, два подчеркивания, заглавные буквы и два подчеркивания. Пример
__DIR__ — Полный путь к директории, в которой находится текущий файл.
__FILE__— Полный путь к исполняемому файлу.
Запишем ниже в файл тест2 вывод директории и путь к файлу.
echo __DIR__; // и увидим полный путь к к папке в которой лежит файл.
echo __FILE__; увидим путь и сам файл test2.php
Так же подключаем файлы при помощи операторов __DIR__ . ставим конкатенацию и / слеш перед обращением к каталогу. Пример
include __DIR__ .'/file/test2.php'; include __FILE__ .'/file/test2.php';
Подключая файлы с константой __DIR__ вы сможете переименовать директорию выше без ошибок, все файлы останутся подключенными и при работе с cron позволяет избежать ошибок.
При этом в подключении файлов с данными от пользователей эти константы лучше не использовать.
Подключить функцию в php
Подключить файл с функцией в php можно всего один раз, любым из выше перечисленных операторов иначе будет ошибка. Пример создадим файл test4.php и запишем в него переменные и функцию.
$gr = '6 груш'; // 6 груш
$ap = '5 яблок'; // и 5 яблок
function fruct($ap, $gr) { // Передаем в параметры аргументы груш и яблок
if ($gr <= $ap) { // сверяем каких фруктов меньше либо равно.
return "$gr меньше"; // возвращаем сразу результат если груш.
}
return "$ap меньше"; // и если яблок меньше.
}
fruct($ap , $gr); // передали один аргумент, а получили результат каких фруктов меньше.
Увидим 5 яблок меньше. Подключать функцию уже с выводом результата возможно один раз на странице, а вот обращаться к функции и выводить результат, сколько угодно раз. Запишем результат из функции в самом низу страницы индекс. Передадим в функцию новые аргументы, выведем ее в краткой записи php и в теге html.
<h2> <?= fruct($gr=19 , $ap=54) ?> </h2>
Получим 19 яблок меньше. Заметили ошибку? Мы передавали аргумент груши, а нам выдало яблоки. Здесь нужно быть внимательными при передаче аргументов в параметры и параметров в условие.
Таким образом мы можем использовать функцию сколько угодно раз выводить результат.
Подключаем фал при помощи функции
Создадим функцию test4
function test4() {
<p> if (include 'test4.php') { // подключаем файл </p><p> return; } // выводим результат </p><p> }</p><p>test4(); // выводим функцию с подключенным файлом.</p>
Подключить файл в php с другого сайта
Конструкция include позволяет включать удаленные файлы, если такая возможность включена в конфигурационном файле PHP. Чтобы подключение было возможным, в Open Server в php.ini, дополнительно, конфигурация, версия php которую вы используете. Раскомментируйте строку и установите значение 1
allow_url_include = 1
include_once ("<a href="http://site.ru/file.php" )"="">http://site.ru/file.php")</a>; //подключили файл с другого сайта
Не рекомендуется в целях безопасности сайта. Используйте только для теста примера.