What are some common mistakes or oversights that can prevent file uploads from working in PHP?

One common mistake that can prevent file uploads from working in PHP is not setting the enctype attribute of the form to "multipart/form-data". This attribute is necessary for uploading files through a form. Another oversight is not checking the file upload for errors or ensuring that the file is actually uploaded before processing it.

<form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="Upload">
</form>
```

```php
if ($_FILES['file']['error'] === UPLOAD_ERR_OK) {
    $uploaded_file = $_FILES['file']['tmp_name'];
    $target_file = 'uploads/' . $_FILES['file']['name'];
    
    if (move_uploaded_file($uploaded_file, $target_file)) {
        echo "File uploaded successfully.";
    } else {
        echo "Error uploading file.";
    }
} else {
    echo "Error: " . $_FILES['file']['error'];
}