public static function showThumbnail($file) { if (filemtime($file) < filemtime($_SERVER['SCRIPT_FILENAME'])) { $mtime = gmdate('r', filemtime($_SERVER['SCRIPT_FILENAME'])); } else { $mtime = gmdate('r', filemtime($file)); } $etag = md5($mtime . $file); if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && $_SERVER['HTTP_IF_MODIFIED_SINCE'] == $mtime || isset($_SERVER['HTTP_IF_NONE_MATCH']) && str_replace('"', '', stripslashes($_SERVER['HTTP_IF_NONE_MATCH'])) == $etag) { header('HTTP/1.1 304 Not Modified'); return; } else { header('ETag: "' . $etag . '"'); header('Last-Modified: ' . $mtime); header('Content-Type: image/png'); $image = ImageServer::createThumbnail($file); imagepng($image); } }