What potential pitfalls can arise when handling file uploads in PHP, as seen in the forum thread discussion?

When handling file uploads in PHP, potential pitfalls include not properly validating file types, not checking file size limits, and not securing file storage locations. To mitigate these risks, always validate file types using the `$_FILES['file']['type']` property, check file size limits using `$_FILES['file']['size']`, and store files in a secure directory outside of the web root.

// Validate file type
$allowedTypes = ['image/jpeg', 'image/png', 'image/gif'];
if (!in_array($_FILES['file']['type'], $allowedTypes)) {
    die('Invalid file type. Only JPEG, PNG, and GIF files are allowed.');
}

// Check file size
$maxSize = 5242880; // 5MB
if ($_FILES['file']['size'] > $maxSize) {
    die('File size exceeds limit. Maximum file size is 5MB.');
}

// Store file in a secure directory
$uploadDir = '/path/to/secure/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.';
}