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 php et pièces jointes multiples


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Webdesigner
    Inscrit en
    Septembre 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 58
    Par défaut mail php et pièces jointes multiples
    Bonjour,

    Je termine un module mail pour une application web dans laquelle il faudrait idéalement pouvoir envoyer plusieurs pièces jointes.

    J'arrive sans soucis à envoyer le mail et y ajouter une pièce jointe en PHP. Je connais le code pour traiter plusieurs fichiers à l’envoie du mail mais comment faire sur le formulaire pour ajouter plusieurs pièces jointes sans rafraichir la page.

    J’imagine que Java et Ajax vont devenir mes amis, mais à l'heure actuelle je n'ai aucune notion de ces deux langages donc si quelqu'un peut m'aider ou aurais un script d'exemple cela me permettrais de m'y mettre.

    Merci d'avance
    Salutations

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Salut,

    Déjà tu peux utiliser l'attribut multiple dans le formulaire. Ainsi tu pourras télécharger plusieurs fichiers simultanément. Mais si tu veux pouvoir ajouter d'autres champs dynamiquement, un peu de javascript suffit, par exemple :
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <script type="text/JavaScript">
    <!-- 
    function Add_Load_File(id_content_file) // Ajoute un champ de téléchargement
    {
    	var content_file = document.getElementById(id_content_file);
     
    	var tab = content_file ? content_file.getElementsByTagName('input') : new Array();
     
    	if(tab.length > 0) 
    	{
    		var input = tab[0].cloneNode(true);
    		input.value = '';
    		content_file.appendChild(input);
    	}	
    }
    -->
    </script>
     
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans titre</title>
    </head>
     
    <body>
    		<form id = "form_file" enctype = "multipart/form-data" action = "<?php echo htmlspecialchars($_SERVER['PHP_SELF'])?>" method = "post" onsubmit = "Attente_Load('message_tele')">
     
    		<p id = "champ_file"><input type = "file" name = "fichiers[]"  multiple = "multiple" /></p>
     
    		<p id = "add_load_file" onclick = "Add_Load_File('champ_file')" style="text-decoration:underline;cursor:pointer">Ajouter un champ de téléchargement</p>
     
    		<p><input type = "submit" name = "submit_fichiers" value = "Envoyez" id = "envoyer" /></p>
     
    		</form>
     
    </body>
    </html>

  3. #3
    Membre confirmé
    Homme Profil pro
    Webdesigner
    Inscrit en
    Septembre 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 58
    Par défaut
    salut,

    merci pour ta réponse, l'idée est bien mais je souhaite éviter de multiplier les boutons upload,
    Mon idée (si c'est possible) est que le nom des fichiers vienne se noter dans le champs pièces jointes et que lors de l'envoie du mail un tableau genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Fichier = array(fichier1, fichier2 etc...);
    puisse être envoyé dans le $_POST.
    Le principe de Gmail par exemple.

    Click sur ajouter une pièce jointe ==> un script java ou ajax fait l'upload dans un répertoire temporaire et crée un tableau avec x fichiers et le renvois dans un champs de formulaire type="text"
    A l'envoie du mail l'ensemble des données sont envoyée dans le $_POST pour traitement standard PHP.

    j'espère m'être bien exprimé, c'est très claire dans ma tête mais en texte ...

    merci pour ton aide
    salutations

  4. #4
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Pourquoi veux-tu dissocier l'envoi du mail de l'envoi des fichiers ? Même sans dissocier les deux on peut envoyer plusieurs pièces jointes dans un mail.
    Où est ton problème ? Tu peux utiliser phpmailer si tu ne sais pas le faire toi-même ou sinon suivre des tutos : les mots clés "tuto php mail pièces jointes" donnent de bonnes réponses dans un moteur de recherche.

  5. #5
    Membre confirmé
    Homme Profil pro
    Webdesigner
    Inscrit en
    Septembre 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 58
    Par défaut
    Je ne veux pas forcément dissociés les deux choses, mon but est de simplifié la vie de l'utilisateur final.

    1 bouton parcourir pour x pièces jointes et 1 bouton envoyer. Faire l'upload avant ou après l'envoie ne change rien c'est juste que je ne sais pas comment faire en HTML avec le formulaire pour avoir plusieurs pièces jointes puis envoyer le tableau dans le $_POST avec le sujet et les autres paramètres du mail.

    J'ai passé 3 jours à rechercher sur les moteurs de recherche, mais je ne trouve rien qui me permette d'obtenir le résultat escompté, la seule chose dont je suis sûr est que je ne peux pas avoir de multiples pièces jointes en php car fonctionne côté serveur.

  6. #6
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Citation Envoyé par safraga Voir le message
    la seule chose dont je suis sûr est que je ne peux pas avoir de multiples pièces jointes en php car fonctionne côté serveur.
    Nan t'as pas compris.

    Je te répète mon précédent conseil :
    Tu peux utiliser phpmailer si tu ne sais pas le faire toi-même ou sinon suivre des tutos : les mots clés "tuto php mail pièces jointes" donnent de bonnes réponses dans un moteur de recherche.
    Un exemple ici

    Je peux rien te dire de mieux

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Mail] Changer nom pièce jointe
    Par Alain15 dans le forum Langage
    Réponses: 5
    Dernier message: 02/08/2006, 11h15
  2. [Mail] Mail multipart et pièces jointes
    Par Ricou13 dans le forum Langage
    Réponses: 2
    Dernier message: 30/06/2006, 15h41
  3. Yahoo mail beta et pièce jointe
    Par ixterm dans le forum Dépannage et Assistance
    Réponses: 6
    Dernier message: 27/06/2006, 14h02
  4. Envoi d'un mail avec plusieurs pièces jointes
    Par Wilco dans le forum Composants VCL
    Réponses: 3
    Dernier message: 04/04/2006, 10h19
  5. [Mail] Récupérer une pièce jointe d'un mail
    Par Invité dans le forum Langage
    Réponses: 2
    Dernier message: 22/12/2005, 16h21

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