Vous n'êtes pas identifié. Veuillez vous connecter ou vous inscrire.


Ecrire une réponse

Ecrire une réponse

Composez et envoyez votre nouvelle réponse

Vous pouvez utiliser : BBCode Images Binettes

Les champs marqués %s doivent être remplis avant d'envoyer ce formulaire.

Information obligatoire pour les invités


Information obligatoire

Revue du sujet (plus récents en tête)

11

Non je n'ai jamais essayé. Mais avec le script que j'ai mis plus haut. Dans le Foreach, au lieu de copier dans un dossier, tu envoies un mail. Ou si tu veux tout dans le même mail. Tu ajoutes des fichiers dans le mails à chaque boucle de foreach et tu l'envoies. J'ai jamais envoyé de pieces jointes en php. je ne peux pas trop t'aider. Mais je pense que tu ne doit pas en etre loin

10

Bonjour

Merci à tous pour vos soutiens...

Me suis peut être mal exprimé...
Je ne veux pas que les fichiers soit mis dans un répertoire, ni ne veux pas être obligeais de venir les chercher sur mon site.

Simplement les recevoirs dans ma boite mail, et c'est la que ça coince...

Dans mon premier message ou j'ai mis le script, sur les 3 envoi de fichier, j'en reçois un seul dans ma boite et les deux autres sont envoyé dans le répertoire qui contient le script.

Je voudrais recevoir les 3 dans ma boite.

J'ai essayer beaucoup de scripts dont ceux des sites que vous proposez mais ils envoient dans un répertoire et je n'en veux pas !

Avez vous essayer vous même d'envoyer 2 ou 3  fichiers dans votre boite ?

9

Salut,

J'ai trouvé ceci : Upload

Voir le tutoriel : Gestionnaire d'upload de fichier en PHP

Je n'ai pas testé mais ce script me semble très intéressant...

8

Ah ouais pas mal le [ code=php ].
C'est vrai que c'est un gros coup de pouces, mais je le sentait prêt à abandonner. C'était pour le relancer.

7

N'oubliez pas d'utiliser [ code=php ] pour highlighter votre code php smile
Sinon Madmax, je pense que tu as trop mâché le travail smile Et c'est quoi ce message d'Attaque potentielle ? smile

6

Il ne faut pas s'énerver, Toad t'as donner les éléments nécessaires,  Il faut juste chercher un peu. Tu verras si tu y arrives tu seras encore plus fière de toi, et tu auras appris plein de chose.
Ca rappel le proverbe. Donne du poisson à quelqu'un, tu le nourriras une journée, apprend lui à pêcher tu le nourris pour la vie.
Foreach -> http://fr2.php.net/manual/fr/control-st … oreach.php
$_FILES -> http://fr.php.net/manual/fr/features.fi … method.php

Ce qui donne vite fait:

$uploaddir = '/var/www/uploads/';
 
foreach ($_FILES as $file) {
  $uploadfile = $uploaddir . basename($file['userfile']['name']);
 
  echo '<pre>';
  if (move_uploaded_file($file['userfile']['tmp_name'], $uploadfile)) {
    echo "Le fichier est valide, et a été téléchargé
           avec succès. Voici plus d'informations :\n"
;
  } else {
    echo "Attaque potentielle par téléchargement de fichiers.
          Voici plus d'informations :\n"
;
  }
 
  echo 'Voici quelques informations de débogage :';
  print_r($file);
 
  echo '</pre>';
}

Y'a plus qu'a adapter. Je te conseille vivement de lire le phpManual il est super bien fait et presque agréable à lire. Si tout les manuels de langage étaient comme lui, l'informatique serait simple.

5

Bonjour toad

Une chose qu'il faut savoir, quand on se dit novice (je parle de moi) cela veut dire novice.

Donc je m'arréte là...

4

Honnêtement la seule aide dont tu es besoin est celle ci:
1/ apprends à découvrir la variable globale $_FILES (fais un echo '<pre>', print_r($_FILES, true),'</pre>'; si besoin)
2/ regarde du coté de foreach pour faire une boucle sur les différents éléments de $_FILES (http://sk.php.net/foreach peut être)

3

Bonjour toad

Le code php je l'ai en fait bidouillé avec des morceaux que j'ai trouvés.
J'ai fait plusieurs forums et ai trouvé divers codes mais aucun ne fonctionne, que se soit en local avec WampServer2 ou en ligne.

Sur le "siteduzéro" il présente un formulaire que pour un fichier, en disant que l'on peut ajouter autant de <input type="file" que l'on voulait, oui mais comment ?

J'avais une idée simple s'est de doublé le script mais le problème s'est que ça envoi en 2 fois mais séparément, alors que je voudrais les données du formulaire avec les deux fichiers envoyés, et ça dans ma boite, pas dans un répertoire.

N'aurait tu pas un script pour au moins envoyer deux fichiers ?

Merci pour ton aide

2

Bonsoir,

Je ne comprends pas comment tu veux gérer 3 fichiers différents quand ton code ne travaille que sur 1 fichier (aucune boucle ou moyen de lire les différents fichiers uploadés via $_FILES).

D'autres parties du code m'épatent aussi:

$type="text/plain";
if($type=="doc")
{

1

Bonjour

Depuis un formulaire j'essaye d'envoyé 3 fichiers pour les recevoir dans ma boite mail mais je n'en reçois qu'un.
Quelqu'un peut t-il m'aider ?

Le formulaire :

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

le fichier php :

<?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($fp, filesize($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);
}
 
?>

mes essais :

<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.
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.



Currently used extensions: pun_poll, pun_admin_manage_extensions_improved. Copyright © 2008 PunBB