Accueil > Forum > > > > Envoyer par mail un fichier téléchargé par le biais d'un formulaire html
Envoyer par mail un fichier téléchargé par le biais d'un formulaire html
jeudi 28 janvier 2010 à 14:08:39 |
Envoyer par mail un fichier téléchargé par le biais d'un formulaire html

Elisa23
|
Bonjour,
Je cherche depuis des jours mais, là, je craque... Tant pis pour ma fierté ! J'espère que vous pourrez m'aider...
J'ai fait un formulaire sur mon site internet. Les données renseignées dans le formulaire sont envoyées par mail (j'utilise PhpMailer).
Jusque là, pas de soucis, je reçois bien les données de type : nom, prénom, e-mail etc.
Là où ça se complique, c'est que je voudrais que les internautes puissent m'envoyer des fichiers. EX. : une personne qui remplit un formulaire de candidature et qui télécharge son CV => Je voudrais recevoir le CV en pièce jointe dans le mail.
Je reçois bien une pièce jointe, mais le soucis c'est qu'elle arrive "sans format". Par ex. Un internaute qui m'envoie le fichier "cv.doc", je reçois bien un fichier mais il s'appelle "phpiJljEo" sans extension…
Comment faire pour que le fichier arrive en pièce jointe avec son nom "d'origine" ?
Merci d'avance pour votre aide !
|
|
vendredi 29 janvier 2010 à 00:49:43 |
Re : Envoyer par mail un fichier téléchargé par le biais d'un formulaire html

neigedhiver
|
Salut,
Il faut simplement renommer le fichier uploadé. Le mieux est encore de le déplacer avec move_uploaded_file, qui permet de le renommer lors du déplacement.
La variable $_FILES contient toutes les informations nécessaires au traitement du fichier uploadé.
--
Neige
Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
|
|
vendredi 29 janvier 2010 à 09:00:37 |
Re : Envoyer par mail un fichier téléchargé par le biais d'un formulaire html

Elisa23
|
Bonjour, neigedhiver !
Merci beaucoup pour ta réponse.
J'avais vu que move_uploaded_file existait, mais je ne sais pas m'en servir... Je ne sais pas vers quoi déplacer mon fichier puisque je ne travaille pas avec une base de donnée...
Je veux envoyer le fichier vers AddAttachment pour que je le reçoive par mail.
Du coup, je dois déplacer vers quoi ? Vers une variable intermédiaire ?
Merci d'avance de m'aider !
Elisa
|
|
vendredi 29 janvier 2010 à 12:57:31 |
Re : Envoyer par mail un fichier téléchargé par le biais d'un formulaire html

neigedhiver
|
Salut,
Il faut déplacer le fichier dans un répertoire de ton site (que ce répertoire soit ou non accessible depuis le web).
move_uploaded_file prend deux arguments : le chemin du fichier temporaire uploadé et le chemin du nouveau fichier (répertoire + nom du fichier). C'est le fait de spécifier un nom de fichier différent qui le renomme.
Le chemin du fichier temporaire est indiqué dans la variable $_FILES ainsi que son nom d'origine.
--
Neige
Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
|
|
vendredi 29 janvier 2010 à 13:29:55 |
Re : Envoyer par mail un fichier téléchargé par le biais d'un formulaire html

Elisa23
|
Merci. J'ai beaucoup à apprendre, désolée.
Si je fais :
Code PHP :
move_uploaded_file($_FILES['file1']['tmp_name'], $_FILES['file1']['name']);
Est-ce que je peux faire un "echo" pour vérifier si le nom à changé ?
Comment je me sert du répertoire du site dont tu parles ?
Merci d'avance.
Elisa
|
|
vendredi 29 janvier 2010 à 15:51:01 |
Re : Envoyer par mail un fichier téléchargé par le biais d'un formulaire html

neigedhiver
|
Je crois que $_FILES['file1']['name'] contient uniquement le nom du fichier : il faut y rajouter le chemin (répertoires) dans lequel tu souhaites le déplacer. Idem, je ne sais plus ce qu'il y a dans $_FILES['file1']['tmp_name'] : le nom du fichier ou son chemin complet.
Pour faire propre, stocke le (nouveau) chemin complet du fichier dans une variable, que tu pourras réutiliser ensuite pour la mettre en pièce jointe à ton mail.
Code PHP : <?php
$new_path = '/chemin/vers/le/repertoire/de/ton/choix/' . $_FILES['file1']['name'];
move_uploaded_files($_FILES['file1']['tmp_name'], $new_path);
?>
Tu peux utiliser echo pour vérifier que $new_path correspond bien au nom du fichier que tu souhaites, avec le bon répertoire.
--
Neige
Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
|
|
vendredi 29 janvier 2010 à 22:19:00 |
Re : Envoyer par mail un fichier téléchargé par le biais d'un formulaire html

Elisa23
|
Salut !
Merci beaucoup pour ton aide !
Quand je fais echo sur $new_path, je vois que ça marche bien, mais quand je veux envoyer le contenu de $new_path par mail ça ne fonctionne pas.
Code PHP :
$mail->AddAttachment($new_path);
J'ai le message d'erreur :
Could not access file: /repertoire/fichier.doc
Je ne vois vraiment plus quoi essayer !
Merci d'avance si tu as d'autres idées !
Elisa
|
|
vendredi 29 janvier 2010 à 23:10:20 |
Re : Envoyer par mail un fichier téléchargé par le biais d'un formulaire html

neigedhiver
|
Ben normalement, c'est à ce moment là de l'histoire que tu dévoiles ton.... code (what else ?)
Pour l'instant, c'est pas facile de savoir ce qui cloche, parce que je ne sais pas précisément ce que tu fais ;)
--
Neige
Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
|
|
lundi 1 février 2010 à 14:14:46 |
Re : Envoyer par mail un fichier téléchargé par le biais d'un formulaire html

Elisa23
|
Bonjour,
Voici un code qui "fonctionn" à ceci près que je reçois par mail un fichier qui a un nom étrange (!) => le tmp_name en fait... Et je n'arrive pas à faire en sorte que mon fichier arrive par mail avec son nom de départ.
Code du formulaire :
Code HTML :
<form method="post" action="traitement_formulaire.php" enctype="multipart/form-data">
Nom : <input type="text" name="nom" size="12"><br>
Prénom : <input type="text" name="prenom" size="12"><br>
E-mail : <input type="text" name="mail" size="12"><br>
Téléphone : <input type="text" name="phone" size="12"><br>
<input name="file" type="file" /><br>
<input type="submit" value="OK">
</form>
Code traitement :
Code PHP :
<?php
$prenom = $_POST['prenom'];
$nom = $_POST['nom'];
$email = $_POST['mail'];
$phone = $_POST['phone'];
require "class.phpmailer.php";
$mail = new PHPmailer();
$mail->IsSMTP();
$mail->IsHTML = true;
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$mail->Username = "*****";
$mail->Password = "*****";
$mail->From='*****';
$mail->AddCc($email);
$mail->AddAddress('*****');
$mail->AddReplyTo('*****');
$mail->AddAttachment($_FILES['file']['tmp_name']);
$mail->CharSet = 'iso-8859-1';
$mail->ContentType = 'text/html';
$mail->Encoding = '8bit';
$mail->Subject = 'Candidature Spontanée';
$mail->Body .= 'Coordonnées : ' .'<br/><br/>';
$mail->Body .= $civil .' ' .$prenom .' ' .$nom .'<br/>';
$mail->Body .= $phone .'<br/>';
$mail->Body .= $email .'<br/><br/>';
$mail->Body .= 'CV et lettre de motivation en pièces jointes';
if(!$mail->Send()){
echo $mail->ErrorInfo;
}
else
unset($mail);
?>
Les ***** remplacent mon adresse e-mail ou password.
Merci d'avance pour votre aide !
Elisa
|
|
lundi 1 février 2010 à 14:22:54 |
Re : Envoyer par mail un fichier téléchargé par le biais d'un formulaire html

neigedhiver
|
Salut,
La méthode AddAttachment accepte plusieurs arguments. Le premier étant le chemin du fichier. Mais le second permet, si j'en crois ce que je lis dans la doc, de spécifier le nom du fichier joint. Est-ce que ça marche ?
Source : http://phpmailer.worxware.com/index.php?pg=methods
--
Neige
Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
|
|
Cette discussion est classée dans : fichier, mail, formulaire, envoyer, reçois
Répondre à ce message
Sujets en rapport avec ce message
Mail et formulaire [ par Jackboy ]
J'aimerai créer un formulaire, assez complexe (pas seulement email, nom, message,...) et j'aimerai avoir ce formulaire envoyer dans un email et format
Envoyer un form par mail ! ! ! [ par laubro ]
Bonjour,j'ai un formulaire que je voudrais me faire envoyer "par mail", celui-ci contien des champsclassiques : nom prenom adresse......+ 1 case texta
envoyer un mail sans formulaire [ par FloThePro38640 ]
aidez moi plz, jaimerais faire ce qu'on ma dit : [Champs du formulaire]Or je ne trouve pas de script d'envoi de mail. Pouvez vous m'aider plz jen ai v
Envoyer un formulaire pas e-mail (SVP, veuillez le mettre pour qu'il fonctionne avec HotMail.) [ par bloom1 ]
Bonjour, je me demande comment on fait pour envoyer un formulaire par e-mail.J'ai déja essayé ca:>M
php --> excel [ par yoyopotpot ]
Bonjour à tous!Voilà je vous explique mon problème :j'ai un formulaire en php et j'aimerai pouvoir "envoyer" les données de ce formulaire dans un fich
[URG] mail() et page html [ par Magidev ]
Bonjour à tous,Voila mon problème,Je suis entrain de réaliser pour l'instant un systeme et j'aurais besoin d'envoyer un mail de confirmation MAISIl fa
Recup code html de fichier pour envoyer par mail() [ par Magidev ]
Je souhaite récuperer le code d'un fichier HTML de mon site pour l'envoyer par mail au meme formatDans ce code HTML il ya des var php du style $mavarE
formater le texte d'un formulaire envoyer par mail depuis un source flash, [ par nykos2004 ]
Nykos
Récupérer les infos d'un formulaire envoyé par mail [ par Osirex ]
Bonjour, J'aimerais me lancer dans le PHP. J'ai un ptit projet qui est le suivant : Je voudrais envoyer un mail en introduisant du code php dedans pou
envoyer formulaire par mail [ par xps ]
BonjourJ'ai chercher comment envoyer un mail en php sur le site mais il n'y a rien qui fonctionne.Je voudrais envoyer un mail en php avec mon mail inv
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
XML ET PHPXML ET PHP par karouani
Cliquez pour lire la suite par karouani
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|