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 :

gérer les pièces jointes


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut gérer les pièces jointes
    Bjr à tous,
    voilà suivant les fichiers joints, j'ai des warning dans le script php en ligne 18, 24, 25, 26 et 94
    cela concerne l'ajout de la pièce jointe !!
    pourriez vous m'aider a résoudre ces problèmes ?

    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    <?php
    $to = "sarrebourgtt@free.fr";
    $repfich="/FichiersJoints/";
    $name_file = $_FILES['attach']['name'];
    $eol="\r\n";
    $date = date( 'r' );
    $phpversion = phpversion();
    $nom = $_POST['nom'];
    $adresse = $_POST['adresse'];
    $email = $_POST['email'];
    $portable = $_POST['portable'];
    $stop = $_POST['STOP'];
    $finconf=$eol."N'hésitez pas à répondre à ce mail pour corriger toute erreur.".$eol;
    $LL = $_POST['LL'];
    $boundary = md5(time());
    if($name_file!=""){
    $source=$_FILES['attach']['tmp_name'];
    move_uploaded_file($source, $repfich.$name_file);
    $parts=explode('.',$name_file);
    $last=count($parts) - 1;
    $extension=$parts[$last];
    $type=$_FILES['attach']['type'];
    $size=$_FILES['attach']['size'];
    $fp = fopen($repfich.$name_file, "rb");
    $attachment = fread($fp, $size);
    fclose($fp);
    $attachment = chunk_split(base64_encode($attachment));
    $msg = '--'.$boundary.$eol;
    $msg .= "Nom & Prénom : $nom ".$eol;
    $msg .= 'Content-Type: '.$type.'; name="'.$name_file.'"'.$eol;
    $msg .= 'Content-Transfer-Encoding: base64'.$eol;
    $msg .= 'Content-Disposition: inline; filename="'.$name_file.'"'.$eol.$eol;
    $msg .= $attachment.$eol.$eol;
    }
    $msg.= '--'.$boundary.$eol;
    $msg.= 'Content-Type: text/html; charset="iso-8859-1"'.$eol;
    $msg.= 'Content-Transfer-Encoding: 8bit'.$eol.$eol;
    if($stop) {$infos="Ne souhaite pas se réinscrire.".$eol;}
    else if($LL) {$infos="Souhaite prendre une licence loisir.".$eol; $infosconf="Vous souhaitez prendre une licence loisir.".$eol;}
    else {
    $yena=false;
    $ET = $_POST['ET'];
    if($ET) {$inter.=" - Au championnat par équipe en tant que titulaire".$eol; $yena=true;}
    $ER = $_POST['ER'];
    if($ER) {$inter.=" - Au championnat par équipe en tant que remplaçant".$eol; $yena=true;}
    $CF = $_POST['CF'];
    if($CF) {$inter.=" - Au critérium Fédéral".$eol; $yena=true;}
    $IC = $_POST['IC'];
    if($IC) {$inter.=" - Aux interclubs".$eol; $yena=true;}
    $CL = $_POST['CL'];
    if($CL) {$inter.=" - A la coupe de Lorraine".$eol; $yena=true;}
    $CMo = $_POST['CMo'];
    if($CMo) {$inter.=" - A la coupe de Moselle".$eol; $yena=true;}
    $CMi = $_POST['CMi'];
    if($CMi) {$inter.=" - A la coupe de la Mirabelle".$eol; $yena=true;}
    if($yena) {$infosconf="Vous souhaitez participer:".$eol.$inter.$finconf; $infos="Souhaite participer:".$eol.$inter;}
    else {$infosconf="Vous n'avez coché aucun renseignement. Merci de recommencer la procédure de réinscription.".$eol; $infos="N'a coché aucun renseignement !!".$eol; }
    }
    $msg = "Nom & Prénom : $nom ".$eol;
    $msg .= "E-Mail : $email ".$eol;
    $msg .= "Portable : $portable ".$eol;
    $msg .= "Adresse : $adresse ".$eol;
    $msgconf="Mail de confirmation.".$eol.$eol;
    if($stop) $msgconf.="Nous vous confirmons réception de votre demande de non réinscription.".$eol.$eol;
    else $msgconf.="Nous vous confirmons réception de votre demande de réinscription avec les données suivantes:".$eol.$eol;
    $msgconf.=$msg.$infosconf.$eol;
    $msg .= $infos.$eol;
    if($stop) $subject = "Demande de non renouvellement de Licence de : $nom";
    else  $subject = "Demande de renouvellement de Licence de : $nom";
    if($stop) $subjectconf="Confirmation de demande de non renouvellement de Licence.";
    else  $subjectconf="Confirmation de demande de renouvellement de Licence.";
    $headers = 'MIME-Version: 1.0'.$eol;
    $headers .= 'From: '.$nom.'<'.$email.'>'.$eol;
    $headers .= 'Reply-To: '.$email.$eol;
    $headers .= 'Date: '.$date.$eol;
    $headers .= "Message-ID: <TheSystem@".$_SERVER['SERVER_NAME'].">".$eol;
    $headers .= "X-Mailer: PHP v".$phpversion.$eol;
    $headersconf = 'MIME-Version: 1.0'.$eol;
    $headersconf .= 'From: SarrebougTT<'.$to.'>'.$eol;
    $headersconf .= 'Reply-To: '.$to.$eol;
    $headersconf .= 'Date: '.$date.$eol;
    $headersconf .= "Message-ID: <TheSystem@".$_SERVER['SERVER_NAME'].">".$eol;
    $headersconf .= "X-Mailer: PHP v".$phpversion.$eol;
    if($nom=="" || $email=="") {
    echo "<HTML><HEAD>";
    echo "<TITLE>Message NON Envoyé !</TITLE></HEAD><BODY>";
    echo "<H1 align=center>ERREUR</H1>";
    echo "<P align=center>";
    echo "Votre message n'a pu être envoyé faute de nom et/ou d'adresse mail.<br>Merci de recommencer<br>";
    echo "<font size='12'><a href='Http://sarrebourgtt.free.fr/Script/InscriptionSTT2.html'>Retour</a></font></P>";
    echo "</BODY></HTML>";
    }else if(mail($to,$subject,$msg,$headers)) {
    mail($email,$subjectconf,$msgconf,$headersconf);
    if($name_file!="") unlink($repfich.$name_file);
    echo "<HTML><HEAD>";
    echo "<TITLE>Message Envoyé !</TITLE></HEAD><BODY>";
    echo "<H1 align=center>Merci !</H1>";
    echo "<P align=center>";
    echo "Votre message a été envoyé avec succès. Vous allez recevoir un mail de confirmation.</P>";
    echo "</BODY></HTML>";
    }else{
    echo "<HTML><HEAD>";
    echo "<TITLE>Message NON Envoyé !</TITLE></HEAD><BODY>";
    echo "<H1 align=center>ERREUR</H1>";
    echo "<P align=center>";
    echo "Le mail n´a pas pu être envoyé, il y a une erreur !!<br>Merci de recommencer.<br>";
    echo "<font size='12'><a href='Http://sarrebourgtt.free.fr/Script/InscriptionSTT2.html'>Retour</a></font></P>";
    echo "</BODY></HTML>";
    }?>

    Cordialement
    Archi
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    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 380
    Points : 10 410
    Points
    10 410
    Par défaut
    C'est assez fastidieux d'envoyer des pièces jointes dans un mail et aussi qu'il ait le moins de chances possibles d'être considéré comme un spam. On utilise plutôt phpmailer qui est une source réputée de bonne qualité. Si tu veux pas te prendre la tête c'est la meilleur solution.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    Bjr,
    merci pour ces précisions, mais j'aimerai voir ce qui cloche dans mon script ?

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    Bjr,
    en faite, je viens de voir que mon script s'exécute en modifiant le chemin en ligne 3 par : "$repfich="../FichiersJoints/";
    malheureusement, je ne reçois aucune pièce jointe dans mon émail de destination ??
    le serveur ne doit pas télécharger le fichier ?!
    help ?
    @+

Discussions similaires

  1. [Indy] Comment récupérer les pièces jointes d'un mail ?
    Par dj_lil dans le forum Web & réseau
    Réponses: 6
    Dernier message: 01/04/2011, 20h07
  2. Contrôle sur les piéces jointes
    Par prince_antonio dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 20/04/2007, 22h53
  3. récupérer les pièces jointes d'un mail [Outlook Express]
    Par chrisledeveloppeur2 dans le forum Delphi
    Réponses: 2
    Dernier message: 10/01/2007, 09h57

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