PHP récupérer > mailer un fichier
Résolu
rashguir
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
rashguir Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
rashguir Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
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
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:
- PHP récupérer > mailer un fichier
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
2 réponses
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']
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']