Are there specific PHP libraries or classes recommended for handling email attachments and uploads securely?

When handling email attachments and uploads in PHP, it is important to ensure that the process is secure to prevent any potential security vulnerabilities such as file injection attacks. One way to achieve this is by using PHP libraries or classes that provide secure methods for handling file uploads, such as filtering allowed file types, checking file sizes, and sanitizing file names.

// Example code using PHP's built-in functions for handling file uploads securely

// Check if a file was uploaded
if(isset($_FILES['file'])) {
    $file = $_FILES['file'];

    // Check file size
    if($file['size'] > 0 && $file['size'] < 1000000) {
        // Check file type
        $allowedTypes = array('pdf', 'doc', 'docx');
        $fileExt = pathinfo($file['name'], PATHINFO_EXTENSION);

        if(in_array($fileExt, $allowedTypes)) {
            // Sanitize file name
            $fileName = preg_replace("/[^a-zA-Z0-9.]/", "", $file['name']);

            // Move uploaded file to a secure directory
            move_uploaded_file($file['tmp_name'], 'uploads/' . $fileName);
        } else {
            echo 'Invalid file type. Allowed types are pdf, doc, docx.';
        }
    } else {
        echo 'File size should be between 0 and 1MB.';
    }
}