What best practices should be followed when handling file uploads in PHP to prevent script interruption and ensure successful image uploading?

When handling file uploads in PHP, it is important to set appropriate PHP settings to prevent script interruption and ensure successful image uploading. This includes increasing the maximum upload file size, setting the correct file permissions, and validating the file type before processing it.

// Set maximum file size
ini_set('upload_max_filesize', '10M');

// Set correct file permissions
chmod($_FILES['file']['tmp_name'], 0644);

// Validate file type
$allowed_types = array('image/jpeg', 'image/png', 'image/gif');
if (!in_array($_FILES['file']['type'], $allowed_types)) {
    die('Invalid file type. Only JPEG, PNG, and GIF files are allowed.');
}

// Process file upload
move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']);
echo 'File uploaded successfully!';