หน้า 404 ในระบบจัดการเนื้อหาด้วยไฟล์ใน PHP

หากผู้ใช้ป้อน URL ที่ไม่ถูกต้องลงในแถบที่อยู่ เราต้องแสดงหน้าเว็บที่มีข้อผิดพลาด ให้เนื้อหาของหน้าเว็บที่มีข้อผิดพลาด เก็บไว้ในไฟล์ที่เกี่ยวข้อง:

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

เพื่อที่จะตรวจสอบความไม่ถูกต้องของ คำขอ เราจำเป็นต้องตรวจสอบการมีอยู่ของ ไฟล์เนื้อหาที่ตรงกับ URL ที่ร้องขอ:

index.php<?php
  $path = 'view' . $url . '.php';
  
  if (file_exists($path)) {
    // มีไฟล์
  } else {
    // ไม่มีไฟล์
  }
?>

ให้เราส่งไฟล์เนื้อหาถ้ามี และส่งไฟล์ข้อผิดพลาดถ้าไม่มีเนื้อหา:

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

ในกรณีที่มีข้อผิดพลาด เราต้องส่ง ส่วนหัว (header) ไปยังเบราว์เซอร์พร้อมด้วยข้อผิดพลาด 404 เพื่อ แจ้งให้ทราบอย่างชัดเจนว่าหน้านี้ไม่พบ มาทำกัน:

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

ให้คุณสร้างการส่งหน้าเว็บพร้อม ข้อผิดพลาด 404 ในระบบจัดการเนื้อหาของคุณ