What are potential performance issues when generating thumbnails at runtime in PHP?

Generating thumbnails at runtime in PHP can lead to performance issues due to the additional processing required for each image request. To mitigate this, it is recommended to cache the generated thumbnails to reduce the load on the server and improve response times. By implementing a caching mechanism, the server can serve pre-generated thumbnails instead of regenerating them for each request.

// Check if the thumbnail exists in the cache directory
$thumbnailPath = 'cache/thumbnail_' . $imagePath;
if (file_exists($thumbnailPath)) {
    // Serve the cached thumbnail
    header('Content-Type: image/jpeg');
    readfile($thumbnailPath);
    exit;
} else {
    // Generate the thumbnail
    $image = imagecreatefromjpeg($imagePath);
    $thumbnail = imagescale($image, 100, 100);
    
    // Save the thumbnail to the cache directory
    imagejpeg($thumbnail, $thumbnailPath);
    
    // Serve the generated thumbnail
    header('Content-Type: image/jpeg');
    imagejpeg($thumbnail);
    imagedestroy($thumbnail);
    imagedestroy($image);
    exit;
}