afficher BLOB
Bonjour, j'ai besoin de l'aide concernant l'affichage des images de type blob dans une base mysql, le script php ne contient pas des erreurs mais le navigateur me retourne l'url "" au lieu de m'afficher l'image! voici le script
<?php
if(isset($_GET['id']))
{
$id = intval($_GET['id']);
include ("connexion.php");
$req = "SELECT img_id, img_type, img_blob ". "FROM images WHERE img_id=".$id;
$ret = mysql_query($req) or die (mysql_error());
$col = mysql_fetch_row($ret);
if(!$col[0])
{
echo "Id d'image inconnu!";
}
else
{
header ("Content-type: " .$col[1]);
echo $col[2];
}
}
else
{
echo "Mauvais id d'image";
}
?>
Réponses apportées à cette discussion
Salut,
Désolé de te répondre si tard, je n'avais pas trop le temps ces dernières heures... La première question que je me pose par rapport à ton sujet : es-tu obligé de stocker tes images en binaire dans la BDD plutôt que simplement le chemin des images ?
Tu peux essayer avec ça pour voir ?
<?php
if(!empty($_GET['id']) && ctype_digit($_GET['id']))
{
include ('connexion.php');
$req = sprintf('SELECT img_id, img_type, img_blob FROM images WHERE img_id=%d', intval($_GET['id']));
$ret = mysql_query($req);
$col = mysql_fetch_row($ret);
if(0 === sizeof($col))
{
die('Image non trouvée !');
}
header ('Content-Type: '.$col[1]);
echo $col[2];
}
else
{
die('Paramètre inattendu');
}
?>
++
Pareil que Emacs, les images en base de données c'est le meilleur moyen d'exploser sa base. Par contre ton code emacs, j'aurais ajouté un LIMIT 1 à la fin (évite de mouliner pour rien).
Le soucis est peut être que l'enregistrement du contenu de l'image n'est pas bon ?
Tu as un excellent article sur le stockage des images par sql à
Le stockage des images dans la base marche, déja j'ai utilisé l'article de beaussier, je vais essayer le script
Bonjour, j'ai essayé le script mais ça marche pas encore, il donne le meme résultat que le mien, sur Firefox il affiche l'URL de la page or sur Intenet explorer il affiche le code binaire de l'image! SVP aidez moi