How can the script be optimized for better performance when uploading images?

When uploading images, one way to optimize the script for better performance is by resizing the image before uploading it. This can help reduce the file size and processing time, resulting in faster uploads. Additionally, using server-side validation to check the file type and size before uploading can prevent unnecessary processing of invalid files.

// Resize image before uploading
function resizeImage($source, $destination, $width, $height) {
    $image = imagecreatefromjpeg($source);
    $resizedImage = imagescale($image, $width, $height);
    imagejpeg($resizedImage, $destination);
    imagedestroy($image);
    imagedestroy($resizedImage);
}

// Server-side validation before uploading
if ($_FILES['image']['size'] > 0 && $_FILES['image']['type'] == 'image/jpeg') {
    move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/' . $_FILES['image']['name']);
    echo 'Image uploaded successfully!';
} else {
    echo 'Invalid file type or size';
}