Piéce jointe email dans code PHP
iris72
Messages postés
18
Date d'inscription
Statut
Membre
Dernière intervention
-
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J'ai un probléme, voici mon fichier PHP qui permet l'envoi d'email avec piéce jointe, le probléme est qu'il m'est impossible de chager la piéce jointe, pour quels raisons je ne sais pas, j'ai peu être uné idée.
La ligne: $fichierr = "adresses.txt"; doit se confondre avec la ligne:
$pieceJointe = $_FILES['fichier'];
Merci d'avance
J'ai un probléme, voici mon fichier PHP qui permet l'envoi d'email avec piéce jointe, le probléme est qu'il m'est impossible de chager la piéce jointe, pour quels raisons je ne sais pas, j'ai peu être uné idée.
La ligne: $fichierr = "adresses.txt"; doit se confondre avec la ligne:
$pieceJointe = $_FILES['fichier'];
Merci d'avance
<!doctype html> <html> <head> </head> <body align="center"> <?php if($_POST) ?> <form name="formule" action="messagerie(1).php" method="POST" enctype="multipart/form-data"> <!--Formulaire --> <table> <tr> <td>Objet</td> <!-- Objet dans formulaire--> <td align="right"><input name="objet" type="text"/></td> //Ligne pour écrire l'objet <td rowspan="10" valign="top" align="left"> <!--Colonnes des adresses mails--> <?php $email = ""; //Création variable emhttp://www.lesite.net/forum/affich-21 ... ec-mailail $fichierr = "adresses.txt"; //Nom du fichier contenant les adresses $donnees = fopen($fichierr,"r"); //Ouverture du fichier contenant les adresses => "r" = en lecture $chaine = fread($donnees, filesize($fichier)); //Récupération des données du fichier fclose($donnees);//Fermeture du fichier $pos1 = 0; // Position du début de la chaine $last = true; //Variable pour savoir si l'on est a la fin du fichier while($last) //Boucle jusqu'à ce qu'on ateigne la fin de la chaine (Tant que) { if($pos2 = strpos($chaine, ";", $pos1)) //Detection de la position du caractère de séparation des adresses $taille = $pos2 - $pos1; //Variable contenant la taille de la chaine contenant UNE adresse mail else { $taille = strlen($chaine); $last = false; //Prend false pour arrêter la boucle while } $contact = substr($chaine, $pos1, $taille); //Récuperd toutes les informations sur le contact $pos1 = $pos2 + 1; //Nouvelle position du début de la recherche dans la chaine (avec ; puis passage à la suivante) $pos3 = strrpos($contact, " "); //Detection de la position du dernier espace séparant le nom du contact de son adresse mail $nom = substr($contact, 0, $pos3); //Découpage de la chaine pour récupérer le nom , $pos3 = position de l'espace entre contact et adresse mail $adresse = substr($contact, $pos3 + 1); //Découpage de la chaine pour récupérer l'adresse mail $checkBoxAdresse = str_replace(".",",",$adresse); //Remplace les virgules par des points dans l'adresse $checkBoxAdresse = str_replace(" ","",$checkBoxAdresse); //Supprime le caractère "Entrée" if(isset($_POST[$checkBoxAdresse]))//Si il y a un retour du formulaire avec l'adresse contenu dans $checkBoxAdressse éxécution du code ci dessous { $email = $email.$nom.' < '; //mise en place des balises pour l'envoi du mail $email = $email.$adresse.' >, '; } echo '<input name="'.$checkBoxAdresse.'" type="checkbox">'.$nom.'<br> '; // mise en place des checkBox } if(isset($_POST['objet']) && isset($_POST['message'])) //Teste s'il y a l'envoit d'un objet et d'un message { $objet = $_POST['objet']; //Récuperation de l'objet du message $message = $_POST['message']; //Récuperation du message if(isset($_FILES['fichier'])) //Vérification si $_FILES['fichier'])existe { $pieceJointe = $_FILES['fichier']; //Récupération du fichier $corps = $message.$pieceJointe; //Ajout du fichier au message } else $corps = $message; //Insertion de message $headers = 'From: Nom Prénom <adresse@exemple.com>'; //Nom de la personne qui envoie l'email mail($email, $objet, $corps, $headers); //Envois du mail } ?> </td> </tr> <tr> <td><input type="file" name="fichier"/></td> </tr> <tr> <td>Message</td> </tr> <tr> <td colspan="2"><textarea name="message" id="message" cols="50" rows="10" style="color:grey"></textarea></td> </tr> </table> <input type="submit" value="Envoyer"/> </form> </body> </html>
A voir également:
- Piéce jointe email dans code PHP
- Code ascii - Guide
- Pièce d'identité - Accueil - Services publics
- Code puk bloqué - Guide
- Comment creer un compte email - Guide
- 1 pièce jointe - Guide
1 réponse
$_FILES['fichier'] est un array avec plusieurs index dont name
donc pour avoir le nom du fichier $_FILES['fichier']['name']
de plus:
$pieceJointe = $_FILES['fichier']; //Récupération du fichier
$corps = $message.$pieceJointe; //Ajout du fichier au message
ça c'est pas bon
il faut que tu ailles voir sur Google comment faire un fichier joint
il faut d'abord le faire uploader sur le serveur, puis faire des boundary dans ton mail , tout ça dans le script php bien sur
donc pour avoir le nom du fichier $_FILES['fichier']['name']
de plus:
$pieceJointe = $_FILES['fichier']; //Récupération du fichier
$corps = $message.$pieceJointe; //Ajout du fichier au message
ça c'est pas bon
il faut que tu ailles voir sur Google comment faire un fichier joint
il faut d'abord le faire uploader sur le serveur, puis faire des boundary dans ton mail , tout ça dans le script php bien sur