1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| <?php
$extensions = array('.jpg', '.jpeg','.png','.bmp','.pdf');
$taille_maxi = 10485760;
$nbr_max_file = 10;
$extension = strrchr($upload_file['name'], '.');
$taille = filesize($upload_file['tmp_name']);
if(!in_array($extension, $extensions)) {$erreur.="<li>• Vous devez uploader un fichier de type jpg, jpeg, png, bmp ou pdf...</li>";}
if($taille>$taille_maxi) {$erreur.="<li>• La taille maximale des fichiers ne doit pas dépasser 10Mo</li>";}
if(count($upload_file['name']) > $nbr_max_file) {$erreur.="<li>• Trop de fichiers uploadés</li>";}
// Création du message
if($erreur==""){
foreach($_FILES as $upload_file){
$tmp_name = file_get_contents($upload_file['tmp_name']);
$attachement = chunk_split(base64_encode($tmp_name));
$EmailDesti = LE_MAIL;
$LeSujet = $data['Titre'];
$LeMessageHTML = "<html></html>";
//=====On filtre les serveurs qui présentent des bogues.
if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $EmailDesti)){$passage_ligne = "\r\n";}else{$passage_ligne = "\n";}
//=====Déclaration des messages au format texte et au format HTML.
$message_html = $LeMessageHTML;
//=====Lecture et mise en forme de la pièce jointe.
foreach($_FILES as $upload_file){
$tmp_name = file_get_contents($upload_file['tmp_name']);
$attachement = chunk_split(base64_encode($tmp_name));
//=====Création de la boundary.
$boundary = "-----=".md5(rand());
$boundary_alt = "-----=".md5(rand());
//=====Définition du sujet.
$sujet = $LeSujet;
//=====Création du header de l'e-mail.
$header = "From: ".$Fr_AdresseMail.$passage_ligne;
$header.= "MIME-Version: 1.0".$passage_ligne;
$header.= "Content-Type: multipart/mixed;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
//=====Création du message.
$message = $passage_ligne."--".$boundary.$passage_ligne;
$message.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary_alt\"".$passage_ligne;
$message.= $passage_ligne."--".$boundary_alt.$passage_ligne;
//=====Ajout du message au format HTML.
$message.= "Content-Type: text/html; charset=\"UTF-8\"".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_html.$passage_ligne;
//=====On ferme la boundary alternative.
$message.= $passage_ligne."--".$boundary_alt."--".$passage_ligne;
$message.= $passage_ligne."--".$boundary.$passage_ligne;
//=====Ajout de la pièce jointe.
$message.= 'Content-type:'.$upload_file['type'].';name='.$upload_file['name'].$passage_ligne;
$message.= "Content-Transfer-Encoding: base64".$passage_ligne;
$message.= "Content-Disposition: attachment; filename=".$upload_file['name'].$passage_ligne;
$message.= $passage_ligne.$attachement.$passage_ligne.$passage_ligne;
$message.= $passage_ligne."--".$boundary."--".$passage_ligne;
}
//=====Envoi de l'e-mail.
if(mail($EmailDesti,$sujet,$message,$header)){
$ok_mail="true";
}else{$erreur.="<li>".$ERREUR_ERROR_1."</li>";}}
}
?>
<input name="Fr_Photos[]" id="Fr_Photos" type="file" multiple > |
Partager