Page 404 dans un moteur basé sur des fichiers en PHP

Si un utilisateur saisit une URL incorrecte dans la barre d'adresse, nous devons afficher une page d'erreur. Laissons le contenu de la page d'erreur être stocké dans un fichier correspondant :

view/404.php<div>
  page not found
</div>

Afin de déterminer l'incorrection de la requête, nous devons vérifier l'existence du fichier de contenu correspondant à l'URL demandée :

index.php<?php
  $path = 'view' . $url . '.php';
  
  if (file_exists($path)) {
    // le fichier existe
  } else {
    // le fichier n'existe pas
  }
?>

Donnons le fichier de contenu, s'il existe, et le fichier d'erreur, s'il n'y a pas de contenu :

index.php<?php
  $path = 'view' . $url . '.php';
  
  if (file_exists($path)) {
    $content = file_get_contents($path);
  } else {
    $content = file_get_contents('view/404.php');
  }
?>

Dans le cas d'une erreur, nous devons envoyer au navigateur un en-tête avec l'erreur 404 afin de signaler explicitement que la page est introuvable. Faisons cela :

index.php<?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');
  }
?>
Задание 1

Implémentez dans votre moteur la délivrance d'une page d'erreur 404.