Strona 404 w silniku na plikach w PHP
Jeśli użytkownik wpisze w pasek adresu nieprawidłowy URL, musimy pokazać stronę z błędem. Niech zawartość strony z błędem będzie przechowywana w odpowiednim pliku:
<div>
page not found
</div>
Aby określić nieprawidłowość żądania, musimy sprawdzić istnienie pliku treści odpowiadającego żądanemu URL:
<?php
$path = 'view' . $url . '.php';
if (file_exists($path)) {
// plik istnieje
} else {
// plik nie istnieje
}
?>
Będziemy zwracać plik treści, jeśli istnieje, i plik z błędem, jeśli treść nie istnieje:
<?php
$path = 'view' . $url . '.php';
if (file_exists($path)) {
$content = file_get_contents($path);
} else {
$content = file_get_contents('view/404.php');
}
?>
W przypadku błędu musimy wysłać do
przeglądarki nagłówek z błędem 404, aby
wyraźnie poinformować, że strona nie została znaleziona.
Zróbmy to:
<?php
$path = 'view' . $url . '.php';
if (file_exists($path)) {
$content = file_get_contents($path);
} else {
header('HTTP/1.0 404 Not Found');
$content = file_get_contents('view/404.php');
}
?>
Zaimplementuj w swoim silniku zwrot strony
z błędem 404.