What are some best practices for testing file upload functionality in PHP scripts to ensure compatibility with different servers and environments?

When testing file upload functionality in PHP scripts to ensure compatibility with different servers and environments, it is important to consider factors such as file size limits, file types allowed, and server configurations. One best practice is to use PHP's built-in functions like `move_uploaded_file()` and `$_FILES` superglobal to handle file uploads securely and reliably.

<?php
// Check if the file was uploaded without errors
if ($_FILES['file']['error'] == UPLOAD_ERR_OK) {
    $uploadDir = 'uploads/';
    $uploadFile = $uploadDir . basename($_FILES['file']['name']);

    // Check if the file meets the size and type requirements
    if ($_FILES['file']['size'] <= 5000000 && in_array($_FILES['file']['type'], ['image/jpeg', 'image/png'])) {
        // Move the uploaded file to the specified directory
        if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadFile)) {
            echo "File uploaded successfully.";
        } else {
            echo "Error uploading file.";
        }
    } else {
        echo "Invalid file. Please upload a JPEG or PNG file under 5MB.";
    }
} else {
    echo "Error uploading file.";
}
?>