How can beginners in PHP ensure secure file uploads?

Beginners in PHP can ensure secure file uploads by validating file types, restricting file sizes, and storing uploaded files outside the web root directory. Additionally, using functions like `move_uploaded_file()` to move the uploaded file to a secure location and generating unique file names to prevent overwriting existing files can enhance security.

// Validate file type
$allowedTypes = ['image/jpeg', 'image/png', 'image/gif'];
if (!in_array($_FILES['file']['type'], $allowedTypes)) {
    die('Invalid file type. Allowed types: jpeg, png, gif');
}

// Restrict file size
$maxFileSize = 5000000; // 5MB
if ($_FILES['file']['size'] > $maxFileSize) {
    die('File size exceeds limit of 5MB');
}

// Move uploaded file to secure location
$uploadDir = '/path/to/uploads/';
$uploadFile = $uploadDir . basename($_FILES['file']['name']);
if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadFile)) {
    echo 'File uploaded successfully';
} else {
    echo 'Failed to upload file';
}