Aide formulaire php pièce jointe
Résolu
azerto00
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
azerto00 Messages postés 12 Date d'inscription Statut Membre Dernière intervention -
azerto00 Messages postés 12 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai récement trouver un formulaire avec envoi de pièce jointe qui fonctionne, je voudrais maintenant le perfectionner en proposant l'envoi de 5 pièce jointe sauf que .... je sais pas ce qu'il faut rajouter en php , je connais le php mais pas du tout les expressions pour ce qui est traitement d'un fichier.
Voila ma page index.htm qui contient le formulaire html :
ET maintenant la page php qui traite les informations :
Voila je sais pas comment traiter le 2eme fichier <input type=file size=40 name="attach2">
J'ai récement trouver un formulaire avec envoi de pièce jointe qui fonctionne, je voudrais maintenant le perfectionner en proposant l'envoi de 5 pièce jointe sauf que .... je sais pas ce qu'il faut rajouter en php , je connais le php mais pas du tout les expressions pour ce qui est traitement d'un fichier.
Voila ma page index.htm qui contient le formulaire html :
<form name="contact" method="post" action="contactok.php" enctype="multipart/form-data"> Nom :<input type="text" name="nom" size="20"></p> <p>Email<input type="text" name="mail" size="20"></p> <p>Message<input type="text" name="message" size="20"></p> <input type=file size=40 name="attach"> <input type=file size=40 name="attach2"> <p> </p> <p><input type="submit" value="Submit" name="B1"><input type="reset" value="Reset" name="B2"></p> </form>
ET maintenant la page php qui traite les informations :
<? // ADRESSE DU DESTINATAIRE $to="xxxxxx@gmail.com"; // // SUJET DU MESSAGE $sujet=".Message."; // ENTETES $entetes="From:$nom $prenom<info@coco-photocop.fr>\r\n"; // MESSAGE $msg.="\nNom : $nom\n"; $msg.="E mail : $mail\n"; $msg.="\nMessage :\n\n$message"; $msg = stripslashes($msg); if (is_uploaded_file($attach)) { $file = fopen($attach, "r"); $contents = fread($file, $attach_size); $encoded_attach = chunk_split(base64_encode($contents)); fclose($file); $entetes.= "MIME-version: 1.0\n"; $entetes.= "Content-type: multipart/mixed; "; $entetes.= "boundary=\"Message-Boundary\"\n"; $entetes.= "Content-transfer-encoding: 7BIT\n"; $body_top = "--Message-Boundary\n"; $body_top .= "Content-type: text/plain; charset=US-ASCII\n"; $body_top .= "Content-transfer-encoding: 7BIT\n"; $body_top .= "Content-description: Mail message body\n\n"; $msg .= "\n\n--Message-Boundary\n"; $msg .= "Content-type: $attach_type; name=\"$attach_name\"\n"; $msg .= "Content-Transfer-Encoding: BASE64\n"; $msg .= "Content-disposition: attachment; filename=\"$attach_name\"\n\n"; $msg .= "$encoded_attach\n"; $msg .= "--Message-Boundary--\n"; } $msg = $body_top.stripslashes($msg); if (mail($to,$sujet,$msg,$entetes)) {
Voila je sais pas comment traiter le 2eme fichier <input type=file size=40 name="attach2">
A voir également:
- Créer formulaire avec pièce jointe
- Whatsapp formulaire opposition - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer un lien pour partager des photos - Guide
- Formulaire de réclamation facebook - Guide
2 réponses
UP! avec modification car une partie de la réponse trouvé ...
Bonjour, j'ai un code php trouvé sur internet que je souhaiterai améliorer.
Pour comprendre, je cherche à faire un formulaire avec envoi de plusieurs pièces jointe.
LE code marche pour l'envoi d'un fichier, (si c'est une image elle est incorporé dans le coprs du message)
Je souhaite ajouter la possibilité d'envoyer une 2eme pièce jointe.
Il doit y avoir une erreur de syntaxe car la 1ere pièce jointe est inclus dans le mail que je recoi mais la seconde c'est comme si elle existait pas ....
PHP:
if (is_uploaded_file($attach)) {
$file = fopen($attach, "r");
$contents = fread($file, $attach_size);
$encoded_attach = chunk_split(base64_encode($contents));
fclose($file);
$msg .= "\n\n--Message-Boundary\n"; //
$msg .= "Content-type: $attach_type; name=\"$attach_name\"\n";
$msg .= "Content-Transfer-Encoding: BASE64\n";
$msg .= "Content-disposition: attachment; filename=\"$attach_name\"\n\n";
$msg .= "$encoded_attach\n";
$msg .= "--Message-Boundary--\n";
}
if (is_uploaded_file($attach2)) {
$file2 = fopen($attach2, "r");
$contents2 = fread($file2, $attach2_size);
$encoded_attach2 = chunk_split(base64_encode($contents2));
fclose($file2);
$msg .= "\n\n--Message-Boundary\n"; //
$msg .= "Content-type: $attach2_type; name=\"$attach2_name\"\n";
$msg .= "Content-Transfer-Encoding: BASE64\n";
$msg .= "Content-disposition: attachment; filename=\"$attach2_name\"\n\n";
$msg .= "$encoded_attach2\n";
$msg .= "--Message-Boundary--\n";
}
JE pense que je avez compris que les 2 input file sont nommées :
- attach
- attach2
Merci d'avance !
Bonjour, j'ai un code php trouvé sur internet que je souhaiterai améliorer.
Pour comprendre, je cherche à faire un formulaire avec envoi de plusieurs pièces jointe.
LE code marche pour l'envoi d'un fichier, (si c'est une image elle est incorporé dans le coprs du message)
Je souhaite ajouter la possibilité d'envoyer une 2eme pièce jointe.
Il doit y avoir une erreur de syntaxe car la 1ere pièce jointe est inclus dans le mail que je recoi mais la seconde c'est comme si elle existait pas ....
PHP:
if (is_uploaded_file($attach)) {
$file = fopen($attach, "r");
$contents = fread($file, $attach_size);
$encoded_attach = chunk_split(base64_encode($contents));
fclose($file);
$msg .= "\n\n--Message-Boundary\n"; //
$msg .= "Content-type: $attach_type; name=\"$attach_name\"\n";
$msg .= "Content-Transfer-Encoding: BASE64\n";
$msg .= "Content-disposition: attachment; filename=\"$attach_name\"\n\n";
$msg .= "$encoded_attach\n";
$msg .= "--Message-Boundary--\n";
}
if (is_uploaded_file($attach2)) {
$file2 = fopen($attach2, "r");
$contents2 = fread($file2, $attach2_size);
$encoded_attach2 = chunk_split(base64_encode($contents2));
fclose($file2);
$msg .= "\n\n--Message-Boundary\n"; //
$msg .= "Content-type: $attach2_type; name=\"$attach2_name\"\n";
$msg .= "Content-Transfer-Encoding: BASE64\n";
$msg .= "Content-disposition: attachment; filename=\"$attach2_name\"\n\n";
$msg .= "$encoded_attach2\n";
$msg .= "--Message-Boundary--\n";
}
JE pense que je avez compris que les 2 input file sont nommées :
- attach
- attach2
Merci d'avance !