PHP passer une variable via un fichier
xunil2003
-
xunil2003 -
xunil2003 -
bonjour,
j'ai besoin de faire passer une variable d' un formulaire au fichier d'envoi, d'une page a l'autre, pour un fichier, comment y formulé dans formulaire, es ce correcte ?
Dans le fichier d'envoi comment formuler la reception de la variable ?
Merci.
Bonjour,
j'ai besoin de faire passer une variable d' un formulaire au fichier d'envoi, d'une page a l'autre, pour un fichier, comment y formulé dans formulaire, es ce correcte ?
<form action="email-test-6.php" method="post">
<div align="center">
<table width="auto" border="1">
<tr>
<th scope="col">Expediteur</th>
<th scope="col">
<input type="hidden" name="id" value="1" />
<input type="text" name="from" value="" size="40" maxlength="45" /> </th>
</tr>
<tr>
<th scope="row">Pièce jointe</th>
<td><input type="hidden" name="id" value="5" /><INPUT TYPE=FILE NAME="fichier"><BR>
</td>
</tr>
<tr>
<th scope="row"> </th>
<td><input type="submit" value="Envoyer" name="Envoyer" /></td>
</tr>
</table>
Dans le fichier d'envoi comment formuler la reception de la variable ?
$fichier = $_FILES['fichier']['Envoyer'];
Merci.
Bonjour,
4 réponses
-
Salut:
$fichier = $_POST['fichier'] ;
Pour récuperer le champ que tu as nommé "fichier".
Mais comme tu as deux champs nommé id le deuxieme va écraser le premier. -
Voila ce que tu peux recuperer:
$_FILES['fichier']['name']; $_FILES['fichier']['tmp_name']; $_FILES['fichier']['type']; $_FILES['fichier']['size']; $_FILES['fichier']['error'];
-
Ok, j' ai mis
$fichier = $_POST['fichier'] ;
il me reponse :Destinataire :, 5 xxxxx@free.fr Expediteur 5 xxxx@free.fr Objet message, 5 test objet Corps du message, 5 test corps du message Warning: file_get_contents(puce-1.png) [function.file-get-contents]: failed to open stream: No such file or directory in L:\Program files 2\wamp\www\maison\N7\test\email-test-6.php on line 119 Le mail a été envoyé
la ligne 119 est :$message .= chunk_split(base64_encode(file_get_contents($fichier)))."\n";
Pourtant j'ai bien reçus le mail avec la pièce jointe puce-1.png de 1 Ko mais impossible de la voir, comme si le fichier été illisible, et lors de mes teste quand je met ceci sa fonctionne
$fichier = "puce-1.png";
Merci -
bonsoir,
Avec ceci c'est pareil.
if(isset($_POST['Envoyer'])) { $to = htmlspecialchars($_POST['to']); $from = htmlspecialchars($_POST['from']); $sujet = htmlspecialchars($_POST['sujet']); $msg = htmlspecialchars($_POST['msg']); //nom des variables $_FILES $tmp_name=$_FILES['fichier']['tmp_name']; $name=$_FILES['fichier']['name']; $size=$_FILES['fichier']['size']; $type=$_FILES['fichier']['type']; $erreur=$_FILES['fichier']['error']; //affichage des différentes variables pour vérification echo "Nom du fichier :".$name; echo "<br>Taille du fichier :".$size; echo "<br>Type de fichier :".$type; echo "<br>Nom temporaire :".$tmp_name; echo "<br>Erreur :".$erreur; //variable contenant le répertoire de destination $uploadpath="L:\\program files 2\\wamp\\www\\uploads\\"; echo "<br>Répertoire de destination :".$uploadpath; //déplacement du fichier du dossier temporaire vers le dossier de destination move_uploaded_file($tmp_name,$uploadpath.$fichier); }
Voila le message de confirmation :
Nom du fichier :logo-404.png
Taille du fichier :5654
Type de fichier :image/png
Nom temporaire :L:\Program files 2\wamp\tmp\php2BE.tmp
Erreur :0
Répertoire de destination :L:\program files 2\wamp\www\uploads\
Le mail a été envoyé
quand j'envoie un mail je reçois la pièce jointe avec un fichier ATT00271.jpg qui fait 1 octets... qui donne l'impression d'etre corrompu.
j'essai en vingt toujours d'envoyer un mail depuis mon formulaire, pour cela Il faut bien uploader d'abord le fichier sur le serveur en PHP.
move_uploaded_file($tmp_name,$uploadpath.$fichier);
Que ce passe t'il ?
Merci.