Aller au contenu

afficher une image binaire via mysql et php


Sujets conseillés

Posté

:!: 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 :)

Posté

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.

Posté (modifié)

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
Posté
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.

Posté (modifié)

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
Posté

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

Posté
Bonjour,

Essaye

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

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

Et ça ?

Posté

Bon, alors pour faire encore plus simple:

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

Posté

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 :(

Posté

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

Posté

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é !

Posté

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.

Posté

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.

Posté

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:

Posté

Et donc, par conséquent, chaque image a un ID unique, CQFD.

Si j'ai bien compris, ta table est organisée de la manière :

ID | titre | texte | image

C'est bien ça ?

Veuillez vous connecter pour commenter

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



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