Probleme lors de l'affichage d'une image
kiranis
Messages postés
49
Statut
Membre
-
Ssylvainsab Messages postés 2892 Statut Modérateur -
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:
ça fait presque une semaine que j'ai le meme probleme et j'arrive pas a trouver une solution.
<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:
- Probleme lors de l'affichage d'une image
- Légender une image - Guide
- Image iso - Guide
- Affichage double ecran - Guide
- Reduire taille image - Guide
- Problème affichage fenêtre windows 10 - Guide
1 réponse
Salut.
Il y a quelque chose d'illogique dans ton code :
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.
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.