IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Envoyer Fichier Joint Mail


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 25
    Par défaut Envoyer Fichier Joint Mail
    Bonjour,

    Sur mon site je veux qu un utilisateur puisse m envoyer un mail contenant une pièce jointe.
    Pour cela j'ai un bouton parcourir qui lui permet de choisir le fichier, mon soucis est que je ne recupere que le nom du fichier et pas son chemin absolu, je n'arrive donc pas ensuite a envoyé la piece jointe.


    SI vous pouvez m'aider ce serait sympa. Merci

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 368
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 368
    Billets dans le blog
    17
    Par défaut
    Tu récupères notamment un nom de fichier temporaire dans $_FILES['tonFichier']['tmp_name']
    Ce nom temporaire te servira à déplacer le fichier dans ton espace web avec move_uploaded_file( )
    Et à en faire ce que bon te semble

    http://fr.php.net/move-uploaded-file

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 25
    Par défaut
    Merci pour ta réponse, ça a réglé mon probleme mais maintenant j'en ai un autre :
    J'arrive bien a recevoir un mail avec l'icone qui indique qu'il y a une piece jointe, mais quand je clique sur le mesage , il n'y a pas de contenu et pas de piece jointe. Pour info, la piece jointe que j'essaie d'envoyer fait a peine 5 ko.
    Voici mon code (j'ai utilisé le tutoriel http://a-pellegrini.developpez.com/t...php/mail/#L3.4) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    <?php
    // To
    $to = 'a@yahoo.fr';
     
    // Subject
    $subject = 'Developpez.com - Test Mail';
     
    // clé aléatoire de limite
    $boundary = md5(uniqid(microtime(), TRUE));
     
    // Headers
    $headers = 'From: B <b@yahoo.fr>'."\r\n";
    $headers .= 'Mime-Version: 1.0'."\r\n";
    $headers .= 'Content-Type: multipart/mixed;boundary='.$boundary."\r\n";
    $headers .= "\r\n";
     
    // Message
    $msg = 'This is a multipart/mixed message.'."\r\n\r\n";
     
    // Texte
    $msg .= '--'.$boundary."\r\n";
    $msg .= 'Content-type:text/plain;charset=utf-8'."\r\n";
    $msg .= 'Content-transfer-encoding:8bit'."\r\n";
    $msg .= 'Un message avec une pièce jointe.'."\r\n";
     
    // Pièce jointe
    $file_name = $_FILES['fichier']['name'];
    $source=$_FILES['fichier']['tmp_name'];
    move_uploaded_file($source, "./".$file_name); 
     
    if (file_exists($file_name))
    {
    	$file_type = filetype($file_name);
    	$file_size = filesize($file_name);
     
    	$handle = fopen($file_name, 'r') or die('File '.$file_name.'can t be open');
    	$content = fread($handle, $file_size);
    	$content = chunk_split(base64_encode($content));
    	$f = fclose($handle);
     
    	$msg .= '--'.$boundary."\r\n";
    	$msg .= 'Content-type:'.$file_type.';name='.$file_name."\r\n";
    	$msg .= 'Content-transfer-encoding:base64'."\r\n";
    	$msg .= $content."\r\n";
    }
     
    // Fin
    $msg .= '--'.$boundary."\r\n";
     
    // Function mail()
    mail($to, $subject, $msg, $headers);
     
    ?>
    Est-ce que quelqu'un sait ce qu'il faut que je fasse?

Discussions similaires

  1. [Mail] Envoyer un email avec fichier joint
    Par tintin72 dans le forum Langage
    Réponses: 3
    Dernier message: 02/05/2008, 22h37
  2. Image en fichier joint mail
    Par Kaiba dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/08/2007, 12h06
  3. Envoyer un fichier joint par mail ?
    Par DIE dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 10/10/2006, 15h38
  4. [Librairies] Envoyer mail avec fichier joint
    Par TicTacToe dans le forum Bibliothèques et frameworks
    Réponses: 24
    Dernier message: 11/05/2006, 18h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo