What are the best practices for handling image sizes in PHP to ensure optimal display?

When handling image sizes in PHP to ensure optimal display, it's important to resize images appropriately to reduce load times and improve user experience. One common approach is to dynamically generate thumbnails of images and serve the appropriate size based on the display requirements. This can be achieved using PHP's GD or Imagick extension to resize images on-the-fly.

// Example code to resize an image using GD extension
function resize_image($source_image_path, $target_image_path, $max_width, $max_height) {
    list($source_width, $source_height, $source_type) = getimagesize($source_image_path);
    
    $source_image = imagecreatefromjpeg($source_image_path);
    
    $target_image = imagecreatetruecolor($max_width, $max_height);
    
    imagecopyresampled($target_image, $source_image, 0, 0, 0, 0, $max_width, $max_height, $source_width, $source_height);
    
    imagejpeg($target_image, $target_image_path);
    
    imagedestroy($source_image);
    imagedestroy($target_image);
}

// Example usage
resize_image('source.jpg', 'thumbnail.jpg', 100, 100);