Version complète: sur le forum Webmaster Hub : Piece jointe avec la classe phpmailer
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
XIII
Salut !

Je rencontre un soucis dans l'envoi de PJ avec phpmailer :

- Si le path que je renseigne est de la forme "../image/truc.gif" cela fonctionne tres bien.

- Si le path est absolu (comme celle que je récupère via formulaire) du genre "C:/image/truc.gif" cela ne marche pas...

Il me retourne l'erreur : "Language string failed to load: file_accessC:image/truc.gif"

Mon code :
CODE
require "../phpmailer/class.phpmailer.php";
$mail = new PHPmailer();
$mail->IsSMTP();
$mail->Host='xxxxxxx';
$mail->From='xxxx';
$mail->AddAddress('xxxx');
$mail->Subject="xxxxxxxxx";
$mail->Body="xxxxxxxxxxxxxx";
$chemin = $stripslashes($pj);
$mail->AddAttachment("$chemin");
if(!$mail->Send())
{
echo $mail->ErrorInfo;
}
else
{
echo "OK"
}
$mail->SmtpClose();
unset($mail);


J'espère avoir été clair.....
Merci par avance ! smile.gif
MarvinLeRouge
Salut,

Ta page php s'exécute sur le serveur, donc le chemin absolu dont tu parles (c: ...) s'applique au serveur. Or, qui te dit qu'un fichier de ce nom existe sur ce serveur ?
Les fichiers uploadés se récupèrent par le tableau $_FILES. C'est de ce côté là qu'il faut que tu orientes tes recherches.
XIII
Merci pour ta réponse !

J'ai en effet résolu mon soucis avec $_FILES.

Pour info ça marche comme ça : (pj est le nom de ma piece jointe récupérée via formulaire).

CODE
$chemin_destination = '../Temp/';
move_uploaded_file($_FILES[pj]['tmp_name'], $chemin_destination.$_FILES[pj]['name']);
require "../phpmailer/class.phpmailer.php";
$mail = new PHPmailer();
$mail->IsSMTP();
$mail->Host='xxxxxxx';
$mail->From='xxxx';
$mail->AddAddress('xxxx');
$mail->Subject="xxxxxxxxx";
$mail->Body="xxxxxxxxxxxxxx";
$mail->AddAttachment("../Temp/".$_FILES[pj]['name']);
if(!$mail->Send())
{
echo $mail->ErrorInfo;
}
else
{
echo "OK"
}
$mail->SmtpClose();
unset($mail);
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.