What is the structure of an HTTP POST request for uploading a file in PHP?

To upload a file using an HTTP POST request in PHP, you need to set the `enctype` attribute of the form to `multipart/form-data` and use the `$_FILES` superglobal to access the uploaded file. You can then move the uploaded file to a specific directory using the `move_uploaded_file()` function.

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

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