PHP récupérer > mailer un fichier

Résolu/Fermé
rashguir Messages postés 2 Date d'inscription mardi 22 décembre 2009 Statut Membre Dernière intervention 23 décembre 2009 - 22 déc. 2009 à 15:43
rashguir Messages postés 2 Date d'inscription mardi 22 décembre 2009 Statut Membre Dernière intervention 23 décembre 2009 - 23 déc. 2009 à 08:58
Bonjour,

j'ai créé un formulaire devant envoyer un fichier, je le récupère avec $_FILES['nom_de_fichier']['name'] et je n'arrive pas à l'utiliser pour l'envoyer par mail par la suite.

Voici le code :

la page avec le formulaire :

echo '<div class="corps">
<form method="post" action="?page=candspont" enctype="multipart/form-data">
<table>
<tr><td colspan="2">Pièces à joindre à votre candidature (en .pdf) : </td></tr>
<tr><td>CV :</td><td><input type="file" name="cv"></td></tr>
<tr><td colspan="2" align="center"><input type="submit" value="Envoyer"></td></tr>
</table>
</form>';

la page qui réceptionne :

$cv = $_FILES['cv']['name'];

echo $cv.'<br />';

le echo m'affiche juste le nom du fichier

par la suite, le bout de code qui passe pas :

$file = $cv;
$fp = fopen($file, "rb"); line 337
$attachment = fread($fp, filesize($file)); line 338
fclose($fp); line 339

et la c'est le drame :

Warning: fopen(CVtest.pdf) [function.fopen]: failed to open stream: No such file or directory in W:\var\www\index.php on line 337

Warning: filesize() [function.filesize]: stat failed for CVtest.pdf in W:\var\www\index.php on line 338

Warning: fread(): supplied argument is not a valid stream resource in W:\var\www\index.php on line 338

Warning: fclose(): supplied argument is not a valid stream resource in W:\var\www\index.php on line 339


Si vous avez une solution, ça ferait bien plaisir.
Merci d'avance
A voir également:

2 réponses

nico7382 Messages postés 279 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 22 décembre 2010 50
22 déc. 2009 à 16:14
Salut,

ca fit longtemps que j'ai plus utilisé l'assemblage des mails mais il me semble que $_FILES['cv']['name'], ne correspond pas a ce que tu veux.

il me semble que c'est le nom sous lequel l'expéditeur a nommé son fichier, mais sur ton serveur il est stocké avec un nom autre, un nom temporaire. 2 possibilités

1°) tu l'upload sur ton serveur et ensuite tu l'ouvres
ou
2°) tu utilises son vrai nom temporaire $_FILES['cv']['tmp_name']
0
rashguir Messages postés 2 Date d'inscription mardi 22 décembre 2009 Statut Membre Dernière intervention 23 décembre 2009
23 déc. 2009 à 08:58
Bonjour,

Merci beaucoup nico, la solution numéro 2 fonctionne bien.
0