- <?php
- if(isset($_POST['Envoyer'])){$erreur="";
- // Nettoyage des entrées
- while(list($var,$val)=each($_POST)){if(!is_array($val)){$$var=strip_tags($val);}
- else{while(list($arvar,$arval)=each($val)){$$var[$arvar]=strip_tags($arval);}}}
- // Création du message
- if($erreur==""){
- $EmailDesti = MAIL_PERSO;
- $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;
- //=====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.
- $extensions = array('.jpg', '.jpeg','.png','.bmp','.pdf','.txt');
- $taille_maxi = 10485760;
- $nbr_max_file = 10;
- $Fr_Photos = !empty($_FILES['Fr_Photos']) ? $_FILES['Fr_Photos'] : NULL;
- 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($Fr_Photos) > $nbr_max_file) {$erreur.="<li>• Trop de fichiers uploadés</li>";}
- if($Fr_Photos){
- foreach ($Fr_Photos as $fichier){
- $upload_type = $fichier['type'];
- $upload_file = $fichier['name'];
- $tmp_name = $fichier['tmp_name'];
- $extension = strrchr($upload_file, '.');
- $taille = filesize($tmp_name);
- $tmp_myname = file_get_contents($tmp_name);
- $attachement = chunk_split(base64_encode($tmp_myname));
- if (move_uploaded_file($tmp_name, $upload_file)) {
- $message.= 'Content-type:'.$upload_type.';name='.$upload_file.$passage_ligne;
- $message.= "Content-Transfer-Encoding: base64".$passage_ligne;
- $message.= "Content-Disposition: attachment; filename=".$upload_file.$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>";}}}
- print_r ($_FILES);
- ?>
- <?php if($ok_mail=="true"){ echo $MESSAGE_VALID; }else{ ?>
- <form action="<?php echo $PHP_SELF ?>" method="post" enctype="multipart/form-data" name="Form">
- <?php if($erreur){ echo $MESSAGE_ERROR; } ?>
- <input name="Fr_Photos[]" id="Fr_Photos" type="file" multiple>
- <button class="btn btn-large btn-block btn-primary" name="Envoyer" type="submit"><?php echo $CONTACT_ENVOYER; ?></button>
- </form>
- <?php } ?>