What are some best practices for implementing a text upload feature on a website using PHP?

When implementing a text upload feature on a website using PHP, it is important to ensure that the uploaded file is properly validated, sanitized, and saved securely to prevent any security vulnerabilities. One best practice is to limit the file types that can be uploaded to only text files (e.g., .txt, .csv) to mitigate the risk of malicious file uploads.

<?php
if ($_FILES['file']['error'] === UPLOAD_ERR_OK) {
    $fileType = $_FILES['file']['type'];
    
    if ($fileType === 'text/plain' || $fileType === 'application/csv') {
        $destination = 'uploads/' . $_FILES['file']['name'];
        
        if (move_uploaded_file($_FILES['file']['tmp_name'], $destination)) {
            echo 'File uploaded successfully.';
        } else {
            echo 'Failed to upload file.';
        }
    } else {
        echo 'Invalid file type. Only text files are allowed.';
    }
} else {
    echo 'Error uploading file.';
}
?>