What are the best practices for handling file uploads in PHP forms to avoid errors and ensure smooth functionality?

When handling file uploads in PHP forms, it is important to set the correct form enctype attribute to "multipart/form-data" and ensure that the PHP configuration settings such as upload_max_filesize and post_max_size are appropriately configured to allow for larger file uploads. Additionally, validating file types and sizes, handling file name collisions, and securing file uploads by checking for malicious content are essential best practices to avoid errors and ensure smooth functionality.

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

```php
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $targetDir = "uploads/";
    $targetFile = $targetDir . basename($_FILES["fileToUpload"]["name"]);
    
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $targetFile)) {
        echo "File uploaded successfully.";
    } else {
        echo "Error uploading file.";
    }
}
?>