In what ways can PHP scripts be designed to securely handle email submissions with file uploads, while also ensuring compliance with EU regulations regarding data protection?

To securely handle email submissions with file uploads in PHP while ensuring compliance with EU data protection regulations, it is crucial to sanitize and validate user input, properly handle file uploads, and store sensitive data securely. Additionally, encrypting sensitive information and implementing measures to prevent SQL injection and cross-site scripting attacks are essential for data protection compliance.

<?php
// Sanitize and validate user input
$email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
$message = htmlspecialchars($_POST['message']);

// Handle file uploads securely
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
    echo "The file ". htmlspecialchars( basename( $_FILES["fileToUpload"]["name"])). " has been uploaded.";
} else {
    echo "Sorry, there was an error uploading your file.";
}

// Store sensitive data securely
// Use prepared statements to prevent SQL injection
$stmt = $pdo->prepare("INSERT INTO submissions (email, message, file) VALUES (?, ?, ?)");
$stmt->execute([$email, $message, $target_file]);

// Encrypt sensitive information
$encrypted_message = openssl_encrypt($message, 'AES-128-CBC', 'secret_key');

// Prevent cross-site scripting attacks
echo htmlspecialchars($message);
?>