Bonjour, je voudrais s'il vous plait résoudre un problème le suivant:
je voudrais envoyer un mail avec une pièce jointe et des données en même temps.
alors j'ai 2 fichiers formulaire.php et send.php, je remplis mon formulaire et je sélectionne le fichier à envoyer puis j'envois tous à mon fichier send.php.
mon problème c'est que tou va bien sauf que j'ai un message d'erreur :
Warning: file_get_contents(monfichier2.pdf) [function.file-get-contents]: failed to open stream: No such file or directory in /.../.../www/monsite.com/send.php on line 52.
*je pense qu'il prenne en considération que le nom de fichier qui existe sur mon serveur distant,sinon il affiche l'erreur précèdent.
voila le code des fichiers:
send.php
et le fichier formulaire.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 <?php $delim = md5(uniqid(rand()));//délimiteur qui sépare les 2 parties //type du format MIME utilisé</p> $head= "MIME-Version: 1.0\n"; //type de contenu et frontière entre parties</p> $head .= "Content-Type:multipart/mixed; boundary=\"$delim\" \n "; $head .= " \n"; // message à destination des logiciels ne lisant pas le type MIME</p> $msg .="Ce message est au format MIME...\n "; $msg .= "\n";//derniere ligne du block est vide:la fin des en-entetes et le début du block de contenu //première partie du message //on indique la frontière $msg .= "--$delim\n"; //on indique le type de contenu du message et comment il sera codé $msg .= "Content-Type: text/plain; charse=\"iso-8859-1\"\n"; $msg .= "Conent-Transfert-Encoding:8bit\n"; $msg .= "\n"; $msg .= "Nom:".$_POST['name']."\n" ."Prenom:".$_POST['prenom'] ."\n" ."Sujet:".$_POST['sujet'] ."\n" ."Phone:".$_POST['telephone']."\n" ."Message: ".$_POST['comment']."\n" ."Pièce jointe :".$_POST['cv']."\n" ."E-mail :".$_POST['email']."\n"; $msg .= "\n"; //seconde partie du message :récuperer le fichier joint $fichier = $_POST['cv']; $attache = file_get_contents($fichier); //convertir le contenu du fichier pour être conforme au format RFC 2045 $attache = chunk_split(base64_encode($attache)); $msg .= "--$delim\n"; $msg .= "content-Type: FILE_TXT; name=\"$fichier\"\n"; $msg .= "Content-Transfer-Encoding: base64\n"; $msg .= "Content-Disposition: inline; filename=\"$fichier\"\n"; $msg .= "\n"; $msg .= $attache . "\n"; $msg .= "\n"; $msg .= "--$delim--"; $dest = "contact@monsite.com"; $exped = $_POST['email']; mail($dest,"sujet d'email",$msg,"Reply-to:$exp\nFrom: $exped\n".$head); include './index.php'; ?>
je vous remercie tous pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 <form action="send.php" method="post" name="contactForm" id="myform" style="margin-bottom: 90px;"> <p class="double"> <label for="f1-nom">Nom:</label> <input type="text" name="name" id="name" /> <span class="nom-invalid"></span> </p> <p class="double"> <label for="f1-prenom">Prénom:</label> <input type="text" name="prenom" id="prenom" /> <span class="prenom-invalid"></span> </p> <p class="double"> <label for="f1-telephone">Téléphone:</label> <input type="text" name="telephone" id="telephone" /> <span class="telephone-invalid"></span> </p> <p class="double"> <label for="f1-email"> Email:</label> <input name="email" id="email" type="text" /> <span class="email-invalid"></span> <span class="email-format"></span> </p> <p class="double"> <label for="f1-cv"> CV:</label> <input name="cv" id="cv" type="file" /> <span class="cv-invalid"></span> <span class="cv-format"></span> </p> <p class="double"> <label for="f1-sujet">Sujet:</label> <input type="text" name="sujet" id="sujet" /> <span class="sujet-invalid"></span> </p> <p class="double"> <label for="f1-infos">Message:</label> <!--<span class="info"></span></label>--> <textarea id="comment" name="comment" rows="5" cols="30"></textarea> </p> <p class="simple"> <input type="submit" id="submit" name="submit" value="Envoyer" /> </p> </form>
Partager