0 && $dir !== false) ? realpath($dir . '/' . $courseId . '.jpg') : false; if ($dir === false || $file === false || !str_starts_with($file, $dir . DIRECTORY_SEPARATOR) || !is_file($file)) { http_response_code(404); exit('No thumbnail'); } $mtime = filemtime($file); $etag = '"' . md5($courseId . '-' . $mtime) . '"'; header('Cache-Control: private, max-age=86400'); header('ETag: ' . $etag); header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $mtime) . ' GMT'); if (($_SERVER['HTTP_IF_NONE_MATCH'] ?? null) === $etag) { http_response_code(304); exit; } header('Content-Type: image/jpeg'); header('Content-Length: ' . filesize($file)); readfile($file);