Marquage par Transfert DTF.
--------------------------------------
DESCRIPTION PRODUIT :
Top technique femme. Tissu respirant. Dos à bretelles croisées. Soutien élevé.
$message = "";
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_FILES['file']) && $_FILES['file']['error'] === UPLOAD_ERR_OK) {
$fileTmpPath = $_FILES['file']['tmp_name'];
$fileName = basename($_FILES['file']['name']);
$fileType = mime_content_type($fileTmpPath);
$fileSize = $_FILES['file']['size'];
$allowedTypes = ['image/jpeg', 'image/png', 'application/pdf'];
$maxSize = 5 * 1024 * 1024; // 5 Mo
if (!in_array($fileType, $allowedTypes)) {
$message = "? Type de fichier non autorisé.";
} elseif ($fileSize > $maxSize) {
$message = "? Fichier trop volumineux. Maximum 5 Mo.";
} else {
$to = "info@goodyfan.com";
$subject = "???? Nouveau fichier joint via le formulaire GoodyFan";
$body = "Bonjour,\n\nUn utilisateur a joint un fichier via le formulaire du site GoodyFan.\n\nNom du fichier : $fileName\nTaille : " . round($fileSize / 1024, 2) . " Ko";
$fileData = file_get_contents($fileTmpPath);
$fileDataEncoded = chunk_split(base64_encode($fileData));
$boundary = md5(time());
// En-têtes
$headers = "From: formulaire@goodyfan.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"{$boundary}\"\r\n";
// Corps de l'email
$emailBody = "--{$boundary}\r\n";
$emailBody .= "Content-Type: text/plain; charset=UTF-8\r\n";
$emailBody .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
$emailBody .= $body . "\r\n";
// Pièce jointe
$emailBody .= "--{$boundary}\r\n";
$emailBody .= "Content-Type: {$fileType}; name=\"{$fileName}\"\r\n";
$emailBody .= "Content-Transfer-Encoding: base64\r\n";
$emailBody .= "Content-Disposition: attachment; filename=\"{$fileName}\"\r\n\r\n";
$emailBody .= $fileDataEncoded . "\r\n";
$emailBody .= "--{$boundary}--";
if (mail($to, $subject, $emailBody, $headers)) {
$message = "? Fichier envoyé avec succès à info@goodyfan.com !";
} else {
$message = "? Échec de l'envoi de l'email.";
}
}
} else {
$message = "? Aucun fichier ou erreur de téléchargement.";
}
}
?>
= $message ?>