[Résolu] Image qui n'apparait pas dans un mailing

Eléphant du PHP | 250 Messages

18 oct. 2011, 14:53

Bonjour

Je mets e place pour un client, une newsletter devant contenir une image chargée lors de la rédaction du texte; tout est bien enregistré, l'image uploadée (grand et petit formats), la newsletter part sans problème....MAIS, l'image n'apparait jamais :evil:
Or, si je fais un echo sur la variable contenant le lien, ou si je regarde la source du mail, j'ai bien le lien complet vers la photo.... |*()
Voici les codes incriminés:
Code de la création de la news:
        //$_FILES existe

        $compteur=0;
set_time_limit(300);//modification de la limitation de temps d'exécution du script en seconde
$dos_destinataire = mkdir("../imag_news/$nom_dossier");//définition de l'adresse du dossier destinataire et création(mkdir) du dossier
$miniatures = mkdir("../imag_news/$nom_dossier/pictos");
        foreach ($_FILES['fichier']['name'] as $key => $value) 
        {
            $fichier=$value;//nom reel de l'image
            $size=$_FILES['fichier']['size'][$key]; //poids de l'image en octets
            $tmp=$_FILES['fichier']['tmp_name'][$key];//nom temporaire de l'image (sur le serveur)
            $type=$_FILES['fichier']['type'][$key];//type de l'image
			
                //vérification du type de l'image et son poids
                if ( in_array(substr($fichier, -3), $extension) && $size<=4194304  )
                { 

                    // type mime jpeg, jpg, gif ou png poids < à 4194304 octets soit 4Mo
                    //le nouveau nom de l'image est composé du nouvel id, de -, de la date format unix, d'un point et de l'extension.
                    $nom_final= $nouvel_id."-".uniqid('', false).".".substr($fichier, -3);


                  //on déplace l'image dans le répertoire final
                    if (move_uploaded_file($tmp, $path.$nom_final)) 
                    {
					//redimensionnement de l'image grand format
					$redimOK = fctredimimage(500,500,'','',$path,$nom_final);
					// redimensionnement pour picto
					$picto = fctredimimage(130,130,$thumb,$nom_final, $path, $nom_final);
                        //Message indiquant que tout s'est bien passé

						$adresse_reelle = "http://www.lesite/imag_news/$nom_dossier/pictos/$nom_final";
						
					$image_news = "<img src=\"$adresse_reelle\" alt=\"nouvelle oeuvre\" />";

                    }//fin move_uploaded_file
           
              }//fin in_array

            $tab_final[$compteur] = $nom_final;
            $compteur++;
        }//fin foreach files
    }//fin de l'instruction if  isset($_FILES['fichier'])
et voici une partie du code de la news:
  $message_html .= '<tr><td>';
  $message_html .= " ".html_entity_decode(stripslashes(trim($la_news)))."<br /><br />"; 
  $message_html .= "<img src=\"$adresse_reelle\" alt=\"nouvelle oeuvre\" min-width=\"130px\" min-height=\"130px\" />";
  $message_html .=	'</td></tr>';
Ce qui est doublement étrange, c'est qu'une image (le logo) apparait bien lui dans le message, avec cette ligne:
  $message_html .= "<img src=\"http://www.lesite/devel/art/images/mark2.png\" alt=\"logo Artoteka\" />";
J'ajoute que je n'ai pas de hotlinks dans mon htaccess....

Une idée, une piste???
D'avance merci.
Modifié en dernier par Boro64 le 18 oct. 2011, 16:07, modifié 1 fois.
"L'histoire, à l'image de toutes choses dans l'univers, semble avoir comme unique règle le côté ondulatoire."

ViPHP
ViPHP | 2577 Messages

18 oct. 2011, 15:12

Je t'invite à regarder le le code source du message dans ton client mail pour voir ce que le texte :
"<img src=\"$adresse_reelle\" alt=\"nouvelle oeuvre\" min-width=\"130px\" min-height=\"130px\" />"
est devenu après traitement.

Au pif, il manque le .com dans le nom de domaine

Eléphant du PHP | 250 Messages

18 oct. 2011, 15:58

Bonjour Mazarini
Non, non, c'est moi qui ai modifié le nom pour le besoin du poste, mais le nom est bien complet. Et le code source du message est le suivant:

Code : Tout sélectionner

<img src="http://www.lesite.fr/imag_news/3-17-10-11-18/pictos/3-4e9bd6427962f.jpg" alt="nouvelle oeuvre" min-width="130px" min-height="130px" />
Le "3-17-10-11-18" après "imag_news" est le nom du dossier généré au chargement, et le "3-4e9bd6427962f.jpg" est bien le nom de l'image.
Je précise d'ailleurs que j'ai vérifié, le dossier, le sous-dossier et les images sont bien créés sur l'hébergement.
"L'histoire, à l'image de toutes choses dans l'univers, semble avoir comme unique règle le côté ondulatoire."

Eléphant du PHP | 250 Messages

18 oct. 2011, 16:07

Oupsssssss.....................
Bon, on va mettre ça sur l'âge et la fatigue: Après ta remarque Mazarini, j'ai relu (correctement!) l'adrese...il manquait le nom d'un dossier avant /imag_news/.....
Merci de ton aide! :oops:

A bientôt! :mrgreen:
"L'histoire, à l'image de toutes choses dans l'univers, semble avoir comme unique règle le côté ondulatoire."

ViPHP
ViPHP | 2577 Messages

18 oct. 2011, 16:13

Pour une image qui ne s'affiche pas, le bon réflexe est :
1) Source de la page, du mail...
2) Contrôle visuel de l'adresse et des "
3) Copie de l'adresse de l'attribut src ou équivalent
4) Collage dans un navigateur
5) Demande à un oeil réveillé

Eléphant du PHP | 250 Messages

18 oct. 2011, 16:18

Pour une image qui ne s'affiche pas, le bon réflexe est :
1) Source de la page, du mail...
2) Contrôle visuel de l'adresse et des "
3) Copie de l'adresse de l'attribut src ou équivalent
4) Collage dans un navigateur
5) Demande à un oeil réveillé
Plutôt comme ça plus souvent, non?:
1) Demande à un oeil réveillé
2) Source de la page, du mail...
3) Contrôle visuel de l'adresse et des "
4) Copie de l'adresse de l'attribut src ou équivalent
5) Collage dans un navigateur
Enfin...me concernant :mrgreen:
"L'histoire, à l'image de toutes choses dans l'univers, semble avoir comme unique règle le côté ondulatoire."