11) { $imagetype = exif_imagetype($filepath); } else { $imagetype = false; } switch ($imagetype) { case IMAGETYPE_JPEG: $mimetype = "image/jpeg"; break; case IMAGETYPE_GIF: $mimetype = "image/gif"; break; case IMAGETYPE_PNG: $mimetype = "image/png"; break; case IMAGETYPE_WEBP: $mimetype = "image/webp"; break; default: $mimetype = "application/octet-stream"; } header("Content-Type: $mimetype"); header('Content-Length: ' . filesize($filepath)); header("X-Content-Type-Options: nosniff"); $seconds_to_cache = 60 * 60 * 12; // 12 hours $ts = gmdate("D, d M Y H:i:s", time() + $seconds_to_cache) . " GMT"; header("Expires: $ts"); header("Pragma: cache"); header("Cache-Control: max-age=$seconds_to_cache"); ob_end_flush(); readfile($filepath);