What are best practices for processing file uploads in PHP?

When processing file uploads in PHP, it is important to validate the file type, size, and ensure secure storage to prevent security vulnerabilities. One best practice is to use PHP's built-in file upload functionality and move_uploaded_file() function to securely store the uploaded file on the server.

<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if (isset($_FILES['file'])) {
        $file = $_FILES['file'];
        $uploadDir = 'uploads/';
        $uploadFile = $uploadDir . basename($file['name']);

        if (move_uploaded_file($file['tmp_name'], $uploadFile)) {
            echo 'File is valid, and was successfully uploaded.';
        } else {
            echo 'File upload failed.';
        }
    } else {
        echo 'No file uploaded.';
    }
}
?>