Файл контента Файл 404.php (или файл данных) — это именованный блок информации, хранящийся на сервере, который содержит текст, изображения, видео или аудио. Он представляет собой упорядоченный набор данных (байтов), которые могут быть текстовыми или бинарными.
Основные характеристики файла:
Файлы могут быть текстовыми (например, txt, html, php и т.д.) или содержать бинарные данные (видео, видео и прочее).
В созданную корневую директорию /images загрузим файл изображения.
Создадим в блокноте и сохраним в директории /pages файл Файл 404.php записав в него код с загруженным файлом
<img src="images/404.png" alt="Описание картинки">
В файле index.php меняем функцию
Если PHP выдает предупреждение, связанную с include, это означает, что скрипт не может найти или загрузить требуемый файл. В отличие от include, require вызывает фатальную ошибку.
<?php // Получаем значение из URL: index.php?page=home // Проверьте, находится ли запрошенная страница в списке разрешенных. // Безопасно подключить из директории pages/ внешний файл из массива // ('home', 'about', 'contact', 'like') с расширением .php require('pages/' . $page . '.php'); } else { // Обработать некорректный запрос страницы (страница не найдена). echo 'Искомая страница не найдена.'; } ?>
Сохраняем и проверяем ссылку http://localhost/index.php?page=404 в браузере
И вот уже мы не получили Предупреждения, вместо этого PHP выдало ошибку и остановило выполнение скрипта, перейдя к строке 10, так как файла 404.php нет в списке исключений.
<?php // Получаем значение из URL: index.php?page=home // Проверьте, находится ли запрошенная страница в списке разрешенных. // Безопасно подключить из директории pages/ внешний файл из массива // ('home', 'about', 'contact', 'like') с расширением .php require('pages/' . $page . '.php'); } else { // Обработать некорректный запрос страницы (страница не найдена). echo 'Искомая страница не найдена.'; } ?>
Добавим в массив исключений нашу страницу 404.php
<?php include 'pages/footer.php'; $page = $_GET['page'] ?? 'home'; // По умолчанию 'home' ?>
И на конец наводим красоту, заменив в строке 10 функцию при исключении вывода текста на функцию вывода страницы с ошибкой.
<?php // Получаем значение из URL: index.php?page=home // Проверьте, находится ли запрошенная страница в списке разрешенных. // Безопасно подключить из директории pages/ внешний файл из массива // ('home', 'about', 'contact', 'like') с расширением .php require('pages/' . $page . '.php'); } else { // Обработать некорректный запрос страницы (страница не найдена). include 'pages/404.php'; } ?>
Сохраняем изменения и проверяем ссылку http://localhost/index.php?page=test в браузере
С этого момента, все ссылки, через файл index.php кроме указанных в массиве исключения, будут перенаправлятся на index.php, либо на страницу «ошибки енота». Проверим это и перейдем к следующей главе.