PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : Forum Général PHP » envoi mail avec pièces jointes » 03-02-2019 20:28:14

jf

Re bonjour,

je suis allé voir le lien et j'avoue que me plonger dans les nouvelles recherches que vous proposez est trop difficile pour moi.

J'ai donc continué à tatonner et chercher des interventions d'internautes qui avaient le même problème.

Et j'ai trouvé quelquechose qui a marché.
2 modifications:
   1/ Ajout de la ligne
       $message.= "--".$boundary.$passage_ligne;
   2/ sortie de la boucle de la dernière ligne
        $message.= $passage_ligne."--".$boundary."--".$passage_ligne;

Mon "niveau" ne me permets de comprendre vraiment ce qui s'est passé.
Je comprends que cela puisse vous agacer que des personnes comme moi cherchent de l'aide sans avoir fait les études adéquates et je vous suis d'autant plus reonnaissant que vous preniez le temps quand même.

Bon. Si dessous le code qui marche (toutes les photos partent dans le mail).

Encore merci et bonne journée !


$q_files = mysql_query("SELECT * FROM jfbay_pf_files_$project WHERE prix = '$c_id' ");
    $g = 1;
    $attachment = '';
    while($file = mysql_fetch_array($q_files)){
        $f_f = $g++;
        $f_prefix  = $file['prefix'];
        $f_name    = strtolower($file['name']);
        $path_img  = $path."project_".$project."/".$f_prefix."".$f_name;
        $fichier   = fopen("$path_img", "rb");
        $attachment = fread($fichier, filesize("$path_img"));
        $attachment = chunk_split(base64_encode($attachment));
        fclose($fichier);
        $message.= "--".$boundary.$passage_ligne; // nouvelle ligne
        $message.= "Content-Type: image/jpeg; name=\"PHOTO ".$f_f."\"".$passage_ligne;
        $message.= "Content-Transfer-Encoding: base64".$passage_ligne;
        $message.= "Content-Disposition: attachment; filename=\"PHOTO ".$f_f."\"".$passage_ligne;
        $message.= $passage_ligne.$attachment.$passage_ligne.$passage_ligne;
    }
    $message.= $passage_ligne."--".$boundary."--".$passage_ligne; // ligne déplacée
 

#2 Re : Forum Général PHP » envoi mail avec pièces jointes » 03-02-2019 20:28:14

jf

Merci d'avoir pris le temps de répondre! Je vais regarder.

#3 Forum Général PHP » envoi mail avec pièces jointes » 03-02-2019 20:28:14

jf
Réponses : 4

Bonjour,

Je suis un autodidacte et je vous remercie de m'accueillir sur votre forum.

Je fais un site pour une entreprise (en php et mysql). Il s'agit d'envoyer des photos par mail pour signaler un problème.

J'ai trouvé des bouts de code sur internet.

Je sais envoyer le mail et une photo.

Dans mon script, je fais une boucle while qui est sensée afficher certaines catégories de photos contenues dans une table mysql.
Malheureusement une seule part...

Si quelqu'un prenait le temps de m'aider, ce serait vraiment gentil.
A bientôt.

PS: ci-dessous ma boucle.


//=====Ajout des pièces jointes.

    $q_files = mysql_query("SELECT * FROM jfbay_pf_files_$project WHERE prix = '$c_id' ");
    $g = 1;
    while($file = mysql_fetch_array($q_files)){
        $f_prefix  = $file['prefix'];
        $f_name    = strtolower($file['name']);
        $path = $path."project_".$project."/".$f_prefix."".$f_name;
        $fich = $path;
        $fichier   = fopen("$fich", "rb");
        $attachement1 = fread($fichier, filesize("$fich"));
        $attachement = chunk_split(base64_encode($attachement1));
        fclose($fichier);
        $message.= "Content-Type: image/jpeg; name=\"$f_name\"".$passage_ligne;
        $message.= "Content-Transfer-Encoding: base64".$passage_ligne;
        $message.= "Content-Disposition: attachment; filename=\"PHOTO ".$g++."\"".$passage_ligne;
        $message.= $passage_ligne.$attachement.$passage_ligne.$passage_ligne;
        $message.= $passage_ligne."--".$boundary."--".$passage_ligne;
    }

mail($mail,$sujet,$message,$header);
 

Pied de page des forums

Propulsé par FluxBB