Forums Webou.net - Hébergement gratuit et sans publicités avec PHP/MySQL Webou Webou Pro
Recherche avancée  
*
Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
17 Novembre 2018, 16:08:28


Connexion avec identifiant, mot de passe et durée de la session


Pages: [1]   Bas de page
  Imprimer  
Auteur Fil de discussion: Envoyé plusieurs fichiers par un formulaire  (Lu 2551 fois)
0 Membres et 1 Invité sur ce fil de discussion.
gilledunord
Invité
« le: 10 Octobre 2009, 18:10:43 »

Bonsoir

Je voudrais pouvoir envoyer plusieurs fichiers à partir d'un formulaire, mais je ne reçois qu'un seul fichier dans ma boite mail, pas les trois.
Pouvez vous m'aider ?

Le formulaire :
Code:

<form action="mail.php" method="POST" enctype="multipart/form-data">
 <input name="fichier" type="file" />
 <input name="fichier" type="file" />
 <input name="fichier" type="file" />
 <input type="submit" name="submit" value="envoyer">
 </form>

le fichier php :
Code:
<?php

$name_file 
= ($_FILES['fichier']['name']); 
$source = ($_FILES['fichier']['tmp_name']);

move_uploaded_file($source"./".$name_file); 

$extension=get_extension($name_file); 

$type="text/plain";
if(
$type=="doc")
{
   
$type="text/vnd.ms-word";
}
else if(
$type=="xls")
{
   
$type="text/vnd.ms-excel";
}

$type2="image/png";

if(
$extension=="gif")
{
   
$type2="image/gif";
}
else if(
$extension=="bmp")
{
   
$type2="image/bmp";
}

function 
get_extension($filename)
{
   
$parts explode('.',$filename);
   
$last count($parts) - 1;
   
$ext $parts[$last];
   return 
$ext;
}

{
$boundary "-----=".md5(uniqid(rand()));
$header "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
$header .= "\r\n";

$msg "Je vous informe que ceci est un message au format MIME 1.0 multipart/mixed.\r\n";

$msg .= "--$boundary\r\n";

$msg .= "Content-Type: $type; charset=\"iso-8859-1\"\r\n";
$msg .= "Content-Transfer-Encoding:8bit\r\n";

$msg .= "ici la page en htm";

if(
$name_file!="")
{
$file $name_file;
$fp fopen($file"rb");  
$attachment fread($fpfilesize($file));
fclose($fp);
$attachment chunk_split(base64_encode($attachment));

$msg .= "--$boundary\r\n";
$msg .= "Content-Type: $type2; name=\"$file\"\r\n";
$msg .= "Content-Transfer-Encoding: base64\r\n";
$msg .= "Content-Disposition: inline; filename=\"$file\"\r\n";
$msg .= "\r\n";
$msg .= $attachment "\r\n";
$msg .= "\r\n\r\n";
$msg .= "--$boundary--\r\n";
}

$destinataire 'monmail@sfr.fr';
$expediteur 'Formulaire_de_mon_site';
$sujet 'Mons site';
$reponse $expediteur;

mail($destinataire,$sujet,$msg,
     
"Reply-to: $reponse\r\nFrom: $expediteur\r\n".$header);
}

if(
$name_file!="")
{
unlink($name_file);
}

?>
Journalisée
Forums Webou.net - Hébergement gratuit et sans publicités avec PHP/MySQL
« le: 10 Octobre 2009, 18:10:43 »

 Journalisée
Coleim
Sr. Member
****
Hors ligne Hors ligne

Messages: 433



Voir le profil WWW
« Répondre #1 le: 10 Octobre 2009, 20:01:19 »

Première impression, y'a pas un rapport avec le fait qu'ils aient tous le même "nom" ?

Code:
<form action="mail.php" method="POST" enctype="multipart/form-data">
 <input name="fichier1" type="file" />
 <input name="fichier2" type="file" />
 <input name="fichier3" type="file" />
 <input type="submit" name="submit" value="envoyer">
 </form>
Journalisée

"Kirby, c'est le seul héros qui sauve le monde en voulant récupérer son gâteau à la fraise !"
gilledunord
Invité
« Répondre #2 le: 11 Octobre 2009, 09:27:07 »

Bonjour Coleim

J'ai essayé :
 <input name="fichier" type="file" />
 <input name="fichier" type="file" />
 <input name="fichier" type="file" />
puis
 <input name="fichier1" type="file" />
 <input name="fichier2" type="file" />
 <input name="fichier3" type="file" />
puis
 <input name="fichier[]" type="file" />
 <input name="fichier[]" type="file" />
 <input name="fichier[]" type="file" />
puis
 <input name="fichier[1]" type="file" />
 <input name="fichier[2]" type="file" />
 <input name="fichier[3]" type="file" />

Je n'ai pas de déclaration d'erreur et je ne reçois qu'un seul fichier.
J'ai regardé plusieurs forums qui indiquent de mettre la dernière version mais ça ne marche pas, ni en local avec WampServer2 ni sur un hébergeur.

Merci pour ton aide
Journalisée
Coleim
Sr. Member
****
Hors ligne Hors ligne

Messages: 433



Voir le profil WWW
« Répondre #3 le: 11 Octobre 2009, 12:52:20 »

Et si à la place du nom "fichier", tu met le nom du formulaire ?

J'y connais pas grand chose, donc je teste :p

Code:
$name_file = ($_FILES['submit']['name']);
$source = ($_FILES['submit']['tmp_name']);
Journalisée

"Kirby, c'est le seul héros qui sauve le monde en voulant récupérer son gâteau à la fraise !"
Coleim
Sr. Member
****
Hors ligne Hors ligne

Messages: 433



Voir le profil WWW
« Répondre #4 le: 11 Octobre 2009, 12:56:53 »

Mais en même temps, j'ai l'impression que t'en envoie qu'un de fichier.
Ça ressemblerais pas plutôt à un truc dans le genre?

Code:
<form action="mail.php" method="POST" enctype="multipart/form-data">
 <input name="fichier1" type="file" />
 <input name="fichier2" type="file" />
 <input name="fichier3" type="file" />
 <input type="submit" name="submit" value="envoyer">
 </form>


Code:
<?php

$name_file1 
= ($_FILES['fichier1']['name']); 
$name_file2 = ($_FILES['fichier2']['name']); 
$name_file3 = ($_FILES['fichier3']['name']); 

....

?>
Journalisée

"Kirby, c'est le seul héros qui sauve le monde en voulant récupérer son gâteau à la fraise !"
Forums Webou.net - Hébergement gratuit et sans publicités avec PHP/MySQL
« Répondre #4 le: 11 Octobre 2009, 12:56:53 »

 Journalisée
gilledunord
Invité
« Répondre #5 le: 11 Octobre 2009, 17:24:06 »

Non, ça ne marche pas, j'ai essayé aussi et pas mal d'autre encore.
Merci pour ta patience.  Clin d'oeil
Journalisée
gilledunord
Invité
« Répondre #6 le: 14 Octobre 2009, 13:53:33 »

Bonjour

Pas d'aide ?
Je ferme le sujet...
« Dernière édition: 14 Octobre 2009, 13:56:52 par gilledunord » Journalisée
MIkE
Big boss
*****
Hors ligne Hors ligne

Messages: 6 198



Voir le profil WWW
« Répondre #7 le: 15 Octobre 2009, 02:33:02 »

Bonjour,

Je te conseille de poser ta question sur des forums plus specifiques et plus frequentes comme http://www.siteduzero.com/forum-81-123-php.html ou http://www.developpez.net/forums/f443/php/ .

Je suis sur que tu y trouveras les bonnes reponses.
Journalisée

Le support et les demandes se font sur le forum. Aucune réponse n'est apportée aux demandes par message privé.
Soutenez Webou en souscrivant à une offre
Pages: [1]   Haut de page
  Imprimer  
 
Aller à:  

Propulsé par MySQL Propulsé par PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Dilber MC Theme by HarzeM
Page générée en 0.035 secondes avec 22 requêtes.