What are the potential pitfalls of relying on $_POST instead of $_FILES when dealing with file uploads in PHP?

When dealing with file uploads in PHP, relying on $_POST instead of $_FILES can lead to potential security vulnerabilities and data corruption. It is important to use $_FILES when handling file uploads as it contains information about the uploaded file such as its name, type, size, and temporary location. By using $_FILES, you can properly validate and move the uploaded file to its intended destination on the server.

// Correct way to handle file uploads using $_FILES

if(isset($_FILES['file'])) {
    $file = $_FILES['file'];

    $file_name = $file['name'];
    $file_tmp = $file['tmp_name'];
    $file_size = $file['size'];
    $file_type = $file['type'];

    // Validate file type, size, etc.

    move_uploaded_file($file_tmp, 'uploads/' . $file_name);
}