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 :

[Mail] Renommer un fichier que j'envoie par mail


Sujet :

Langage PHP

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2007
    Messages
    219
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 219
    Par d�faut [Mail] Renommer un fichier que j'envoie par mail
    Bonjour,
    J'envoie un fichier que je r�cup�re avec un "input type="file"", et j'utilise donc $_FILE['fichier']['tmp_name'] pour r�cup�rer le chemin du fichier. Hors cela m'envoie le fichier avec un nom bizarre et je voudrais r�cup�rer le vrai nom du fichier. Comment faire?
    Voici mon code:
    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
    <?php
    include "libmail.php";//placez dans le repertoire courant donc...
    $m= new Mail; // demarre l'email
    $m->From( "email" );// enlever les guillements pour placer une variable
    //$m->To( "[email protected]");//idem
    $m->Subject( "Email avec attachement" );//idem
    $message= "Veuillez trouver ci-joint votre test de francais";
    $m->Body( $message); // corps du message
    //  $m->Cc( "[email protected]");//facultatif
    $m->Bcc( "email");//facultatif
    $m->Priority(4) ; // Priorité Basse
    $m->Attach($_FILES['fichier']['tmp_name'], "application/pdf" ) ; // définition du type mime du document joint image/gif
    $m->Send();
    if($m)
         {
              echo 'Le message a bien été envoyé';
    	  echo $_FILES['fichier']['name'];
         }
         else
         {
              echo 'Le message n\'a pu être envoyé';
         } 
    ?>

  2. #2
    Membre exp�riment�

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par d�faut
    Rien d'anormal :
    $_FILES['fichier']['tmp_name'] est le chemin complet (incluant son nom) vers le fichier temporaire cr�� par le serveur apr�s upload
    $_FILES['fichier']['name'] est le nom du fichier (vous n'avez pas le chemin) tel qu'il �tait nomm� chez le client au moment o� il a rempli le formulaire

    Vous �tes libres de les renommer et si vous ne d�placez pas les fichiers upload�s (fonction move_uploaded_file) ils sont perdus � la fin du script.

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2007
    Messages
    219
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 219
    Par d�faut
    �a je sais mais en fait, je voudrais par exemple envoyer un fichier x.pdf qui ce trouve dans c:/blabla/x.pdf . J'ai donc r�cup�r� le chemin avec $_FILES["fichier"]["tmp_name"]. Mais lorsque je re�ois l'email j'ai un nom en pi�ce jointe bizarre du style tmp76.pdf hors je voudrais qu'il s'appelle x.pdf. Comment faire?

  4. #4
    Membre exp�riment�

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par d�faut
    Vous ne copiez pas le fichier upload�, �a vous simplifirait peut �tre la t�che car d'apr�s la documentation de la librairie en question, la m�thode Attach n'est pas pr�vue pour utiliser un autre nom que celui du fichier qui lui est pass� comme premier param�tre (elle lui applique tout b�tement basename pour d�finir le nom lors de son attachement au mail). Si vous ne voulez pas modifier la classe (ou en faire une qui h�rite de Mail) il faut tout simplement renommer le fichier avant (rename, move_uploaded_file). (� moins que �a passe avec un lien symbolique mais encore faut-il utiliser un syst�me Linux/Unix)

Discussions similaires

  1. Envoi par mail d'un fichier sur IFS
    Par philippe30 dans le forum AS/400
    R�ponses: 1
    Dernier message: 09/11/2011, 15h56
  2. Cr�er un fichier ascii et envoi par mail
    Par ermite67 dans le forum G�n�ral JavaScript
    R�ponses: 7
    Dernier message: 14/06/2011, 01h28
  3. Renommer un fichier avant envoi par Mail
    Par mumuludo dans le forum VBA Access
    R�ponses: 2
    Dernier message: 02/01/2008, 17h01
  4. R�ponses: 2
    Dernier message: 17/05/2007, 18h25

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