How can PHP code be optimized to improve the efficiency and accuracy of file upload validation?

To optimize PHP code for file upload validation, it is important to check the file type, size, and ensure secure file handling to prevent malicious uploads. One way to improve efficiency and accuracy is to use built-in PHP functions like `$_FILES` to access file information and `move_uploaded_file()` to securely move the file to a designated directory.

// File upload validation
$allowedFileTypes = ['jpg', 'jpeg', 'png', 'gif'];
$maxFileSize = 5242880; // 5MB

if ($_FILES['file']['error'] === UPLOAD_ERR_OK) {
    $fileName = $_FILES['file']['name'];
    $fileSize = $_FILES['file']['size'];
    $fileType = pathinfo($fileName, PATHINFO_EXTENSION);

    if (in_array($fileType, $allowedFileTypes) && $fileSize <= $maxFileSize) {
        $uploadDir = 'uploads/';
        $uploadPath = $uploadDir . $fileName;

        if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadPath)) {
            echo 'File uploaded successfully.';
        } else {
            echo 'Error uploading file.';
        }
    } else {
        echo 'Invalid file type or size.';
    }
} else {
    echo 'File upload error.';
}