xkamui Their Destiny Was Foreordained | Donc, voici ce que donne mes deux fichiers : Le premier fichier, le formulaire : Code :
- <?php
- $nbFile = 3;
- echo "
- <html>
- <body>
- <form action=\"mail.php\" method=\"POST\" enctype=\"multipart/form-data\">
- <br /><br />
- <table style=\"border:1px solid #000000\" align=\"center\">
- <tr>
- <td colspan=\"2\" class=\"en-tete\">Envoyer vos informations concernant le produit</td>
- </tr>
- <tr>
- <td colspan=\"2\"><textarea name=\"message\"></textarea></td>
- </tr>
- ";
- for($i = 0; $i < $nbFile; $i++)
- {
- echo "
- <tr>
- <td>Fichier image " . ($i + 1) . " :</td>
- <td><input type=\"file\" name=\"fichier" . $i . "\" value=\"\">
- </tr>
- ";
- }
- echo "
- <tr>
- <td align=\"center\" colspan=\"2\"><input type=\"submit\" name=\"action\" value=\"Envoyer\"></td>
- </tr>
- </table>
- <input type=\"hidden\" name=\"nbfile\" value=\"" . $nbFile . "\">
- </form>
- </body>
- </html>
- ";
- ?>
|
et le deuxième fichier, qui traite les données : Code :
- <?php
- // Définition des fonctions
- function get_extension($filename)
- {
- $parts = explode('.',$filename);
- $last = count($parts) - 1;
- $ext = $parts[$last];
- return $ext;
- }
- if($_SERVER['REQUEST_METHOD'] == 'POST')
- {
- // Définition des variables
- $isConform = false;
- $attachment = array();
- $arrNameFile = array();
- $arrSource = array();
- $arrExtension = array();
- $arrType = array();
- $arrInfoManu = array();
- $arrExtensionCTRL = array('jpg','jpeg','bmp','psd','png','gif','tif','tiff');
- $boundary = "-----=".md5(uniqid(rand()));
- $extensionTemp = '';
- $file = '';
- $attachment = '';
- $destinataire = 'grondin.marc@msa45.msa.fr';
- $from = 'votre mail';
- $reponse = 'votre mail réponse';
- $sujet = 'Votre sujet';
- $repertoire = 'tmpimg'; //Répertoire ou ce trouverons les fichiers attachées.
- $fp = null;
- $type = 'text/plain';
- $message = trim($_POST['message']);
- // Traitement des fichier
- if($_POST['action'] == 'Envoyer')
- {
- for($i = 0; $i < $_POST['nbfile']; $i++)
- {
- $extensionTemp = get_extension($_FILES['fichier' . $i]['name']);
- if($_FILES['fichier' . $i]['name'] != '')
- {
- if(in_array(strtolower($extensionTemp), $arrExtensionCTRL))
- {
- $arrNameFile[$i] = $_FILES['fichier'.$i]['name'];
- $arrSource[$i] = $_FILES['fichier'.$i]['tmp_name'];
- $isConform = true;
- }
- else
- {
- $isConform = false;
- }
- }
- }
- }
- //Redirection dans le cas ou il y a une extension non valide.
- if($isConform == false)
- {
- header('Location:contact.php?erreur=true');
- exit();
- }
- //Boucle sur le nombre de fichier valide.
- for($i = 0;$i < count($arrNameFile); $i++)
- {
- copy($arrSource[$i], $repertoire.'/'.$arrNameFile[$i]);
- $arrExtension[$i] = strtolower(get_extension($arrNameFile[$i]));
- if ($arrExtension[$i] == 'gif') $arrType[$i] = 'image/gif';
- else if($arrExtension[$i] == 'bmp') $arrType[$i] = 'image/bmp';
- else if($arrExtension[$i] == 'png') $arrType[$i] = 'image/png';
- else if($arrExtension[$i] == 'psd') $arrType[$i] = 'image/psd';
- else if($arrExtension[$i] == 'jpg' || $arrExtension[$i] == 'jpeg') $arrType[$i] = 'image/jpeg';
- else if($arrExtension[$i] == 'tif' || $arrExtension[$i] == 'tiff') $arrType[$i] = 'image/tiff';
- }
- // Construction de l'entête
- $header = "MIME-Version: 1.0\r\n";
- $header .= "Content-Type: multipart/mixed; boundary=\"" . $boundary . "\"\r\n";
- $header .= "\r\n";
- $msg = "Je vous informe que ceci est un message au format MIME 1.0.\r\n";
- $msg .= "--" . $boundary . "\r\n";
- $msg .= "Content-Type: " . $type . "; charset=\"iso-8859-1\"\r\n";
- $msg .= "Content-Transfer-Encoding:8bit\r\n";
- $msg .= "\r\n";
- $msg .="===================VOTRE MESSAGE===================\r\n\r\n";
- $msg .= $message;
- $msg .= "\r\n";
- // Ajout des images en fichiers joints
- for($i = 0;$i < count($arrNameFile); $i++)
- {
- $file = $repertoire . '/' . $arrNameFile[$i];
- $fp = fopen($file, 'rb');
- $attachment = fread($fp, filesize($file));
- fclose($fp);
- $attachment = chunk_split(base64_encode($attachment));
- $msg .= "--" . $boundary . "\r\n";
- $msg .= "Content-Type: " . $arrType[$i] . "; \r";
- $msg .= "name=\"" . $arrNameFile[$i] . "\"\r\n";
- $msg .= "Content-Transfer-Encoding: base64\r\n";
- $msg .= "Content-Disposition: inline;\r\n filename=\"" . $arrNameFile[$i] . "\"\r\n";
- $msg .= $attachment . "\r\n";
- $msg .= "\r\n";
- $msg .= "\r\n\r\n";
- unlink($file);
- }
- $msg .= "--" . $boundary . "--\r\n";
- echo (mail($destinataire, $sujet , $msg, "Reply-to: " . $reponse . "\r\nFrom: " . $from . "\r\n" . $header)) ? "OK" : "ERREUR";
- }
- ?>
|
en fait, je ne vois pas du tout l'erreur.. un peu d'aide ?? |