Bonjour,

Voila je m'en sors pas. J'ai un formulaire dans lequel je propose entre autre de fournir un fichier en pièce jointe.

Alors que je reçois bien l'email et le fichier dans mon répertoire Upload créer sur le site de mon hébergeur , je ne vois jamais dans l'email le fichier en pièce jointe .

Comme vous le verrez dans le code je fais pas mal de tests pour savoir en cas d'erreur où ça cloche mais JE N'AI PAS D ERREURS à l'exécution de la page !!!

Quelqu'un peut-il analyser mon code ci-dessous et me dire ce qui ne semble pas bon ?

J'ai contacté mon hébergeur pour savoir s'il pouvait m'aider mais il m'a dit grosso modo de me démerder lol.

Merci d'avance de votre aide.

Ricardo

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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<?php
 
// Déclaration des variables et constantes
 
// Constante
define ('TXT_MAIL_TO','ricardoarrabito@creditriskmanagement.be');
 
// Variables
$company = trim($_POST['company']);
$name = trim($_POST['name']);
$firstname = trim($_POST['firstname']);
$email = trim($_POST['email']);
$message = trim($_POST['message']);
$object = trim($_POST['object']);
$dstrep = './Uploads/';
 
// Headers 
$headers = "From: " .$company." ".$name." ".$firstname." <".$email.">"."\r\n\r\n";
 
// Construction du message
$mainmessage = "Ce mail a été envoyé depuis le site www.creditriskmanagement.be \n\n";
$mainmessage .= $message;
 
/* Si le formulaire n'est pas posté de notre site on renvoie vers la page d'accueil 
if ($_SERVER['HTTP_REFERER'] != 'http://www.creditriskmanagement.be/Contact.php')


{  
    header('Location: http://www.creditriskmanagement.be'); 
} 

*/
 
 
 
 
 
// Je teste l'écriture possible dans mon répertoire Uploads
if(!is_writable($dstrep))
	{
			die(' Impossible d\'écrire dans le répertoire cible ');
	}
	else
	{
			echo (' Ecriture possible ');
	}
 
 
// On vérifie d'abord que des données ont bien été envoyées
if(!isset($_FILES['fichier']))
 
	die('Aucune données');
 
// Je teste l'existence d'un fichier et son bon transfert
if (isset($_FILES['fichier']) AND $_FILES['fichier']['error'] == 0)
 
{
	// Je teste la taille de mon fichier. 
	if ($_FILES['fichier']['size'] <= 1000000)
	{
		// Je déduit le chemin du fichier
		$infosfichier = pathinfo($_FILES['fichier']['name']);
 
		// J'en extrait l'extension
		$extension_upload = $infosfichier['extension'];
 
		// Je crée une table avec toutes les extensions autorisées
		$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png', 'doc', 'docx', 'xls', 'xlsx', 'txt', 'pdf');
 
		// Je compare l'extention du fichier sélectionné à ma table des extensions autorisées
		if (in_array($extension_upload, $extensions_autorisees))
		{
			// Transfert du fichier uploadé du dossier temporaire vers le dossier de stockage définitif 
			move_uploaded_file($_FILES['fichier']['tmp_name'], $dstrep . basename($_FILES['fichier']['name']));
 
			//Je vérifie l'envoi et l'extension
 
			echo $extension_upload;			
			echo " L'envoi a bien été effectué !";
 
 
		}
 
	}
 
	else
	{
		// Vérification du code d'erreur
		switch($_FILES['fichier']['error'])
		{
			case 1: // UPLOAD_ERR_INI_SIZE
				die("Le fichier dépasse la limite autorisée par le serveur (fichier php.ini) !");
				break;
			case 2: // UPLOAD_ERR_FORM_SIZE
				die("Le fichier dépasse la limite autorisée dans le formulaire HTML !");
				break;
			  case 3: // UPLOAD_ERR_PARTIAL
				die("L'envoi du fichier a été interrompu pendant le transfert !");
				break;
			  case 4: // UPLOAD_ERR_NO_FILE
				die("Le fichier que vous avez envoyé a une taille nulle !");
				break;
		}	
 
	}
 
	// Envoi de l'email
if (mail(TXT_MAIL_TO,$object, $mainmessage, $headers))
	 header('Location: http://www.creditriskmanagement.be'); 
 
 
}
 
 
?>