What are common errors encountered when uploading files using PHP?

Common errors encountered when uploading files using PHP include exceeding the maximum file size limit, incorrect file type, and issues with file permissions. To solve these issues, make sure to check the file size before uploading, validate the file type, and ensure that the directory where the file will be saved has the correct permissions.

// Check file size before uploading
$maxFileSize = 5 * 1024 * 1024; // 5MB
if ($_FILES['file']['size'] > $maxFileSize) {
    echo "File size exceeds the limit.";
    exit;
}

// Validate file type
$allowedFileTypes = ['jpg', 'png', 'pdf'];
$fileExtension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
if (!in_array($fileExtension, $allowedFileTypes)) {
    echo "Invalid file type.";
    exit;
}

// Ensure directory has correct permissions
$uploadDir = 'uploads/';
if (!is_dir($uploadDir) || !is_writable($uploadDir)) {
    echo "Upload directory is not writable.";
    exit;
}

// Move uploaded file to directory
$uploadFile = $uploadDir . basename($_FILES['file']['name']);
if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadFile)) {
    echo "File uploaded successfully.";
} else {
    echo "Error uploading file.";
}