[phpmailer] Fichier joint

Résolu/Fermé
afrodje Messages postés 759 Date d'inscription mardi 13 mars 2007 Statut Membre Dernière intervention 22 janvier 2014 - 25 nov. 2008 à 17:40
afrodje Messages postés 759 Date d'inscription mardi 13 mars 2007 Statut Membre Dernière intervention 22 janvier 2014 - 26 nov. 2008 à 18:36
Bonjour,

Je n'arrive pas à joindre un fichier avec un formulaire et l'envoyer par mail...

Voici une partie du formulaire :
<input type="file" name="fichier" size="26" />


Et voici la partie de traitement php avec l'aide de phpmailer

$chemin_destination = '../Temp/';
move_uploaded_file($_FILES['fichier']['tmp_name'], $chemin_destination.$_FILES['fichier']['name']);
require "phpmailer/class.phpmailer.php";
$mail = new PHPmailer();
$mail->IsSMTP();
$mail->Host='192.168.**.**';
$mail->From='toto@toto.com';
$mail->FromName   = "Procédure";
$mail->AddAddress($config['test']);
$mail->AddReplyTo($config['test']);	
					
$mail->Subject='le sujet';
 $mail->MsgHTML('le message');
					
$mail->AddAttachment("../Temp/".$_FILES['fichier']['name']);
					
					
if(!$mail->Send())
	{ 
	    echo $mail->ErrorInfo; //Affiche le message d'erreur
	}
	else 
	{	  
	    echo 'Mail envoyé avec succès';
	}
	$mail->SmtpClose();
	unset($mail);	


A voir également:

1 réponse

afrodje Messages postés 759 Date d'inscription mardi 13 mars 2007 Statut Membre Dernière intervention 22 janvier 2014 168
26 nov. 2008 à 18:36
Fallait le metttre sur le serveur avant :

$dossier = 'upload/';
					$fichier = basename($_FILES['fichier']['name']);
					$taille_maxi = $config['MAX_FILE_SIZE'];
					$taille = filesize($_FILES['fichier']['tmp_name']);
					$extensions = $config['extensions'];
					$extension = strrchr($_FILES['fichier']['name'], '.'); 
					//Début des vérifications de sécurité...
					if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
					{
						 $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt, doc, pdf, xdoc, zip et rar';
					}
					if($taille>$taille_maxi)
					{
						 $erreur = 'Le fichier est trop gros...';
					}
					if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
					{
						 //On formate le nom du fichier ici...
						 $fichier = strtr($fichier, 
							  'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ ', 
							  'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy-');
						 $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
						 if(move_uploaded_file($_FILES['fichier']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
						 {
							  //echo 'Upload effectué avec succès !';
						 }
						 else //Sinon (la fonction renvoie FALSE).
						 {
							  echo 'Echec de l\'upload !';
						 }
					}
					else
					{
						 echo $erreur;
					}
1