Aller au contenu

afficher une image binaire via mysql et php


tof75

Sujets conseillés

:!: Sallut à tous !!!

c'est une premiere pour moi sur ce forum :blush:

Voici mon prob:

1/j'ai une bd mysql qui contient toutes les infos des différentes page de mon site.

2/J'ai un fichier contenant l'ensemble des fonctions PHP et un autre, l'index contenant les elements d'affichage statique du site).

Maintenant j'aimerai pouvoir afficher les images stockées en binaires sur ma bd comme les elements de texte qui eux fonctionnent trés bien.

Probléme en visualisation locale : le code binaire de la vignette apparait sur la page.

Code page index : <?php echo $_ENV['vignette']; ?>

Code de la page des fonctions : $_ENV['vignette'] = $tabl_result['vignette'];

voili voilo merci à tous :)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Essaye

<?php echo "<img src=\"$_ENV['vignette'];\">" ?>

Mais je ne suis vraiment pas certain que ca marche... D'ailleurs, je ne vois pas bien l'intérêt de stocker ses images en BDD.

Lien vers le commentaire
Partager sur d’autres sites

Euh just comme ca, désolé si c'est un peu hors sujet, mais tu es en train de me dire que tu stock des images dans ta base de donnée? si c'est le cas j'aimeré bien savoir comment ?!! , a moins que tu voulais dire les nom des fichiers images ...

D'ailleurs, je ne vois pas bien l'intérêt de stocker ses images en BDD.

Ben par exemple si tu fais des articles et rubriques, tu peut associé un vignette a une rubrique (lors de l'affichage des news par exemple..) evidement il est pas question d'y stocké des photos 8Mpixels ^^

Modifié par Kent
Lien vers le commentaire
Partager sur d’autres sites

Euh just comme ca, désolé si c'est un peu hors sujet, mais tu es en train de me dire que tu stock des images dans ta base de donnée? si c'est le cas j'aimeré bien savoir comment ?!! , a moins que tu voulais dire les nom des fichiers images ...

Merci de faire attention à l'orhographe :evil:

Tof75 l'a dit dans son message, il stocke les images en binaire dans sa base... Il stocke le "code" de l'image en quelque sorte.

Lien vers le commentaire
Partager sur d’autres sites

J'ai bien lu que c'etait du code binaire je n'ai pas demandé sous quelle forme mais de quelle façon. Avez vous un tutorial sous la main..?

Modifié par NorSeb
Lien vers le commentaire
Partager sur d’autres sites

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\program files\easyphp1-8\www\*****_bdd\index.php on line 71

merci norseb mais voici la reponse a la modif :blush:

kent you right c'est effectivement pour un system de news image vignette liée à l'article.

concernant les tutaux rien de bien excitant.....

je vais continuer mais recherches

merci

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Essaye

<?php echo "<img src=\"$_ENV['vignette'];\">" ?>

<?php echo "<img src=\"$_ENV['vignette']\">"; ?>

Et ça ?

Lien vers le commentaire
Partager sur d’autres sites

Bg,X¡óøFw3lã&¯XÌÍi.]OÐñJ\0t¥\'( jÕ#!R5ÆzÛí0Ë)ö-}çüÒÙajb&¹ßDG¶äækÌÓ\'ßžÿCéùð?L4WÄ?zî.SbŒÉçäm倥,*£hNÝ8·r°® óD»dêXO0/sÎL©28®ž&æ !OŽÐ Ð8Z æÔË%**F®¬û2h@¢}¢hå£ÝCg7ýíµ¢¢î×Mù±ðy\0ÞV¡Ox.¬ž@³ =òAEs>Ü>ÑHRyOQWÑÞ>\"N¿ï¢E3YÐj÷JÛñ¯èûIgF£((,ÎxòbKZ42Š±éVë¢5» ô²þ3f4Ê2Â>ªaÜTT׊/w0-...\'ô0Otõš{...*åÊ>§ÿtε?MH5/Ä\'?Ò\\K&ÉP¬?äÊ`õ\0ÌÁ%lKT_AT_EÖ÷Õ±T¶\" µs ÊìJ»»òïë ßVÖD -nóÁPYîâÒRЮŒcszÑæÔuæ5ÚèCÜQÍFóI fðS¶D+9]ëxÑ[^Ùožm]ÑÅMu€}ÖNR\"M(|ÉÄgEãM#ÖTÅa 6³&)žÁ®R)t ån¥ð )Kõ&U&+æì¡€«...TrÖÀ

merci pour ton aide xpatval mais il afficher ce genre de chose à la place de l'image :(

Lien vers le commentaire
Partager sur d’autres sites

Bien évidemment... $_ENV['vignette'] contient le code de l'image alors que l'attribut src attend un nom de fichier, pas son contenu .... :)

Lien vers le commentaire
Partager sur d’autres sites

C'est tout à fait normal, bête que je suis !

Tu as le contenu de ton image...en binaire, je suppute (suppute-je bien ?)

xpatval

ben voilà, Dan la gachette m'a supplanté !

Lien vers le commentaire
Partager sur d’autres sites

Pour afficher une image, il te faut créer un fichier que tu nommeras par exemple apercu.php, et qui pourra être utilisé dans l'attribut src= de ta page.

Ce fichier doit faire globalement ceci:

<?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";
}
?>

A toi de changer les noms des champs de manière à coller avec ta table.

Tu dois avoir un champ "id" ou équivalent, c'est lui qui est utilisé pour retrouver l'image dans ton fichier appellant:

<img src="apercu.php?id=numéro_d'image" ... />

Cela suppose que tu aies stocké le type d'image dans ta base image/jpg, image/gif , etc.

Lien vers le commentaire
Partager sur d’autres sites

Non-testé, mais il se peut que ça soit la bonne solution :

- Tu crées un fichier image.php

- Dans tes pages, tu l'appelles comme une image, avec en GET, l'id de ton image en base

<img src="image.php?id=51" />

- Dans ce fichier PHP, nous aurons quelque chose du genre :

<?php
// requete récupérant les infos de ton image
$sql = "SELECT image FROM tatable WHERE id=".$_GET['id'];
$fichier = mysql_result(mysql_query($sql), 0);
header("Content-Type: image/jpeg");
echo $fichier;
?>

[Edit] Bon, ben, grillé par Dan.

Lien vers le commentaire
Partager sur d’autres sites

okoi merci à tous pour votre aide et reviendrai vers vous pour vous donner le resultat.....

Captain torche :Juste pour info .... l'image a id de la page et non une id propre car l'image est liée au texte de la dite page.... tu me suis d'ou mon prob :)

merci encore :thumbsup:

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...