Bonjour,
J'ai un formulaire qui est hébergé chez orange et qui m'envoie un mail avec toutes les info que je demande de renseigner, ça fonctionne parfaitement pour cette partie là.
Je voudrai y rajouter la possibilité pour l'internaute qui rempli ce formulaire d'y joindre un fichier (txt, doc, jpg, etc...).
j'ai essayé plein de trucs mas aucun ne fonctionne alors du coup je ne sais plus ni quoi mettre ni ou le metre ni comment procéder, bref je suis complètement perdu !
Un petit coup de main me serait bien utile...
ci-dessous voila ce que ça donne à peu de choses près
<form>
</form>
Si vos documents (Permis, JFO, Attestation
d'assurance, Validation annuelle timbre Grand Gibier) sont déjà
numérisés, vous pouvez nous les envoyer .<form method=\"post\" action=\"http://pages.perso.orange.fr/client/php/formulaire.php\">
</form>
</caption>
Merci pour ta contribution, effectivement j'ai repris mon 1er code brut de fonderie il faut que je rapatrie le bon code de mon portble qui est à la maison....
donc peut-être que ce soir j'aurai le temps de le mettre en ligne, car il fonctionne en envoyant toutes les réponses ainsi que les présélection des cases à cocher et des listes déroulante, la ou ça bloque c'est lorsqu'à la fin du code je mets une balise pour aller chercher un fichier en local sur l'ordi du client et le joindre au mail, aller le chercher apparemment c'est pas là ou ça bloque, ça bloque lors de l'envoi qui fait comme si il l'envoyait et puis rien à la réception...
Merci, et a plus tard, là je me remts tout doucement d'une série de piqurre d'une quizaine de frelons... ça fait pas que du bien...
<?php
if (isset($_FILES['F1']) AND $_FILES['F1']['error'] == 0) /* verif qu un fichier est envoyé */ {
if ($_FILES['F1']['size'] <= 1000000) /* taille max du fichier */ {
$infosfichier = pathinfo($_FILES['F1']['name']); {
move_uploaded_file($_FILES['F1']['tmp_name'], './' /* Tu peux remplacer './' par le nom d un fichier de téléchargement */ . basename($_FILES['F1']['name'])); // Téléchargement du fichier
}
}
}
$file_name = $_FILES['F1']['name']; /* chemin du fichier */
if (file_exists($file_name)) {
/*---- Déclaration des paramètres ----*/
$destinataire = "contact@destinataire.fr"; // Pour plusieurs destinataires, les séparer par une virgule
$expediteur = "contact@expediteur.fr";
$sujet = "envoi de mail";
$delimiteur = md5(uniqid(rand())); // Création d'un numéro unique, qui délimitera les différents blocs du mail
$contenupiecejointe = file_get_contents($file_name); // Récupération du contenu du fichier
$contenupiecejointe = chunk_split(base64_encode($contenupiecejointe)); // Conversion du fichier : respect du format RFC 2045
$typepiecejointe = filetype($file_name); // Récupération du type du fichier
/*---- Déclaration de l'entête ----*/
$entete = "From: $expediteur \n";
$entete .= "Reply-to: $expediteur \n";
$entete .= "Cc: destinataire1@gmail.com \n";
$entete .= "Bcc: destinataire2@gmail.com \n";
$entete .= "X-Priority: 1 \n";
$entete .= "MIME-Version: 1.0 \n";
$entete .= "Content-Type: multipart/mixed; boundary="$delimiteur" \n"; // Déclaration du type du mail et du délimiteur
$entete .= " \n";
/*---- Déclaration du message ----*/
$message = "--$delimiteur \n"; // Séparation du bloc "entete" et du bloc "message" par notre délimiteur
$message .= "Content-Type: text/html; charset="iso-8859-1" \n"; // Déclaration du type du message ainsi que la charte de codage
$message .= "Content-Transfer-Encoding:8bit\n"; // Déclaration du type de codage
$message .= "\n";
$message .= "contenu message
";
$message .= "contenu message";
$message .= "\n";
/*---- Insertion de la pièce jointe ----*/
$message .= "--$delimiteur \n"; // Séparation du bloc "message" et du bloc "pièce jointe" par notre délimiteur
$message .= "Content-Type: $typepiecejointe; name="$piecejointe" \n"; // Déclaration du type et du nom de la pièce jointe
$message .= "Content-Transfer-Encoding: base64 \n"; // Déclaration du type de codage
$message .= "Content-Disposition: attachment; filename="$piecejointe" \n"; // attachment = pièce jointe = fichier à sauvegarder
$message .= "\n";
$message .= $contenupiecejointe." \n"; // Insertion du fichier
$message .= "\n";
$message .= "--$delimiteur"; // Délimitation de la fin de la pièce jointe, et du mail
/*---- Envoi du mail ----*/
if(mail($destinataire, $sujet, $message, $entete)) {
unlink($file_name); /* Effacer le fichier */
}
}
?>