Bonjour à tous,

J'espère être au bon endroit, voilà j'ai un soucis avec mon code PHP. J'ai créé un formulaire de support, j'ai mis la possibilités d'inclure une image via
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
<input type="file" name="image" id="image"/>
.

Je souhaites récupérer cette image et l'envoyer en PJ dans un mail afin que l'équipe support puisse y avoir accès directement.
Malheureusement cela ne fonctionne pas, j'ai bien une PJ, mais le fichier semble vide et il n'y pas de texte dans mon mail. Je suis partie du code dans le tuto developpez.net.

Voici mon code :

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
57
58
59
60
<?php
 
// récupération des infos du formulaire php
$perimeter=$_POST['Perimeter'];
$adresse1 = $_POST['Users'];
$issues = $_POST['issues'];
$Type = $_POST['Type'];
$adresse=$adresse1.'@entreprise.com';
$utilisateurs = str_replace("."," ",$_POST['Users']);
$file_name=$_FILES['image']['name'];   //Le nom original du fichier, comme sur le disque du visiteur (exemple : mon_icone.png).
$file_type=$_FILES['image']['type'];     //Le type du fichier. Par exemple, cela peut être « image/png ».
$file_size=$_FILES['image']['size'];     //La taille du fichier en octets.
$file_name_t = $_FILES['image']['tmp_name']; ////L'adresse vers le fichier uploadé dans le répertoire temporaire
 
//TO
$to = 'me@entreprise.com';
 
//Subject
$subject = $perimeter.' | '.$Type.' | Issues';
 
// clé aléatoire de limite
$boundary = md5(uniqid(microtime(), TRUE));
 
// Headers
$headers = 'From: <'.$adresse.'>'."\r\n\r\n";
$headers .= 'Mime-Version: 1.0'."\r\n";
$headers .= 'Content-Type: multipart/mixed;boundary='.$boundary."\r\n";
$headers .= "\r\n";
 
// Message
$msg = 'This is a multipart/mixed message.'."\r\n\r\n";
 
// Texte
$msg .= '--'.$boundary."\r\n";
$msg .= 'Content-type:text/plain;charset=utf-8'."\r\n";
$msg .= 'Content-transfer-encoding:8bit'."\r\n";
$msg .= 'Un message avec une pièce jointe.'."\r\n";
 
 // Pièce jointe
if (file_exists($file_name))
{
	$handle = fopen($file_name, 'r') or die('File '.$file_name.'can t be open');
	$content = fread($handle, $file_size);
	$content = chunk_split(base64_encode($content));
	$f = fclose($handle);
 
	$msg .= '--'.$boundary."\r\n";
	$msg .= 'Content-type:'.$file_type.';name='.$file_name."\r\n";
	$msg .= 'Content-transfer-encoding:base64'."\r\n";
	$msg .= $content."\r\n";
}
 
// Fin
$msg .= '--'.$boundary. "--\r\n";
 
// Function mail()
mail($to, $subject, $msg, $headers);
 
?>
<p> le formulaire est envoyé </p>
Merci d'avance pour vos réponse