Probleme lors de l'affichage d'une image

kiranis Messages postés 49 Statut Membre -  
Ssylvainsab Messages postés 2892 Statut Modérateur -
Bonjours, je veux afficher une image jpg stocker dans une base de donnees mais le resultat affiché est l'url de la page ou je desire l'afficher "http://127.0.0.1/", voila le code:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<?php
header("Content-type: image/jpeg");
mysql_connect("localhost","root","");
      mysql_select_db("images");
   $result= mysql_query("SELECT nom,date,img FROM offres WHERE categorie='cliente' AND type='icone' ORDER BY date");
   while ($row = mysql_fetch_array($result))  
{
     if ( !$row[0] )
{
echo "image inconnu";
}
else
{
     $Image = $row['img']; 
     $ImageName = $row['nom'];
     echo $Image;
}
} 
readfile($Image);
?>

</body>
</html>

ça fait presque une semaine que j'ai le meme probleme et j'arrive pas a trouver une solution.
A voir également:

1 réponse

Ssylvainsab Messages postés 2892 Statut Modérateur 825
 
Salut.

Il y a quelque chose d'illogique dans ton code :
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
[...]
header("Content-type: image/jpeg");
Soit le fichier est une page html, soit c'est une image. Pas les deux.

Ensuite, a quoi correspondent les champs de ta base de données nom, date et img ?
nom : le nom de l'image
date : la date d'enregistrement de l'image dans la BDD
img : l'adresse de l'image ?

Si j'ai bien compris, et que tu veux envoyer une page html affichant plusieurs images (et pas une page HTML), alors il faut que tu enlèves tout le header PHP "header("Content-type: image/jpeg");".

Et le code "readfile($Image)" revient à afficher le code de l'image dans ta page html ! Ca n'a aucun sens ! Tu peux enlever cette ligne.

Ensuite, il faut indiquer en html que tu veux afficher une image. Pour ça il faut utiliser la balise img, et pas une simple adresse.
Remplaces "echo $Image;" par "echo '<img src="'.$Image.'">';"

Et tout rentrera dans l'ordre je pense.
0