Afficher une image dans un BLOB

Fredbeginner Messages postés 10 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 8 avril 2008 - 1 avril 2008 à 00:03
mahlaoui Messages postés 29 Date d'inscription lundi 10 décembre 2007 Statut Membre Dernière intervention 13 octobre 2008 - 13 juil. 2008 à 22:56
Salut à tous,

J'ai un souci sur mon site :
J'ai une BDD MYSQL dans laquelle j'insère dans des tables des images dans des BLOB (ne lançons pas le débat entre mettre une image dans un BLOB ou stocker son adresse et la stocker dans un répertoire : j'ai choisi l'intégration dans un BLOB... c'est mon choix comme dirais Evelyne Thomas du temps où elle était en vie... paix à son âme télévisuelle). BREF !!!!
Le souci : quand je lance ma requete (ex: sur la table membre : j'affiche les détails dans une page PHP avec la Photo). or la photo : ou s'affiche sous forme de texte (données binaires) ou prend la place du tableau dans lequel elle devrait s'insérer :sur la page il n'y a qua la photo.
J'arrive avec un lien "agrandir la photo" à ouvrir une nouvelle page avec la photo grandeur réelle nickel.
Les seules solution trouvées sur Google sont soit de cliquer sur quelquechose et lancer un aperçu.php, soit d'ecrire le fichier sur l'ordi du client et mettre dans ma page un simple lien html... >src=etc...>
Ne peux t-on pas afficher directement l'image du BLOB dans une page PHP, dans un tableau, directement (avec ou sans zone image ??????

Merci pour celui qui a la salution ! bénit soit-il !!! ;-)

Fred_Beginner

9 réponses

Fredbeginner Messages postés 10 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 8 avril 2008
3 avril 2008 à 03:25
Pour aider ceux qui galèrent, j'ai enfin trouvé la solution :
" alt="" />

au lieu de echo $imgid
cela permet d'afficher l'imag contenue dans une BDD (BLOB) dans une page html ou php et non pas toute seule dans une page nue !

Fred_Beginner
0
cs_kamalou Messages postés 17 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 17 mars 2015
3 avril 2008 à 17:19
pour moi ça marche pas :-(
0
Fredbeginner Messages postés 10 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 8 avril 2008
3 avril 2008 à 22:18
Ben dis m'en plus tu cherches à afficher l'image dans une page php ? comment est le fichier qui récupère l'image ? poste le code on verra si je peux t'aider, je débute mais il faut s'entraider !

A+

Fred_Beginner
0
cs_kamalou Messages postés 17 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 17 mars 2015
4 avril 2008 à 11:44
Slt fred_beginner

voici mon code de base avant d'avoir essayé à ta maniere :

<?php
if ($id_files) {
  include "open_db.inc";
  $sql = "SELECT bin_data, filetype, filename, filesize FROM tbl_Files WHERE id_files=$id_files";
 
  $result = @mysql_query($sql, $db);
  $data = @mysql_result($result, 0, "bin_data");
  $name = @mysql_result($result, 0, "filename");
  $size = @mysql_result($result, 0, "filesize");
  $type = @mysql_result($result, 0, "filetype");
 
  header("Content-type: $type");
  header("Content-length: $size");
  header("Content-Disposition: attachment; filename=$name");
  header("Content-Description: PHP Generated Data");
  echo $data;
}
?> 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Fredbeginner Messages postés 10 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 8 avril 2008
4 avril 2008 à 12:37
voici mon code en résumé, si ca peut t'aider:

1/ mon fichier apercu.php


<?php
// Connection BDD
etc....


// Récupération de l'ID image pour affichage par méthode GET
if ( isset($_GET['idpic']) )
{
$id = intval ($_GET['idpic']);$req "SELECT img_id, img_type, img_blob FROM images_notations 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]);
print $col[2]; // correspond à  img_blob dans la requête
}
}
else
{
echo "Mauvais id d'image";
}
?>


2/ ma page où j'affiche l'image par exe  fiche_membre.php


<?php
// Connection BDD
etc....
Par une variable de session je récupère l'identifiant de la personne :$user
et je fais une requête pour trouver le numero de sa photo :


// Requête dans la BDD données table membres
$sql = "SELECT Nom, Prenom, adresse, Codepostal, Commune, PhotoUser FROM table_membres WHERE IDUSERVALID='".$user'";
$result = mysql_query($sql);
if (!$result) {echo "Erreur d'accès à la base : " . mysql_error();   exit;}


$row = mysql_fetch_assoc($result);
etc....
$photo_user=$row["PhotoUser"];


// Requête dans la BDD dans la table des images (les image perso sont dans une autre table que celle des membres)
$req = "SELECT img_id, img_type, img_nom, img_blob FROM images_users WHERE img_id='".$photo_user."'";
$ret = mysql_query ($req) or die (mysql_error ());
$col = mysql_fetch_row ($ret);
if ( !$col[0] )
{
$msg="Id d'image inconnu";
}
else
{
header ("Content-type: ".$col[1]);
}
?>
<html>
<head>
</style>
</head>


<th align="left" valign="top" scope="row">Photo :</th>


<td align="left" valign="middle">" width="60" height="60" alt="">&nbsp;</td>



</html>


Donc refait ta requête sur en base a peux près identique.

j'ai travaillé d'après ce tuto :
http://beaussier.developpez.com/articles/php/mysql/blob/
Bon courage !

Fred_Beginner
0
cs_kamalou Messages postés 17 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 17 mars 2015
4 avril 2008 à 12:53
Merci fred_beginner,

je vais essayer de m'appuyer sur une basse identique à la tienne,
moi c'est plutot pour afficher des doc word.

j'essaye et je te tiensd au courant

thanks.

kamalou
0
cs_kamalou Messages postés 17 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 17 mars 2015
4 avril 2008 à 13:13
salut fred_beginner,

j'ai repris l'exemple fournit dans le lien que tu m'a donné et ça marche aussi bien pour les images que les .doc.
mais c'est un peut lent ,
est ce que chez toi c'est lent aussi l'affichage des images?

Sinon est ce que tu sais si on peut avec php parser le contenu d'un document Word ou rtf etc...?

en tous cas merci pour ton aide, elle m'a été fort utile!

à plus.

kamalou 
0
Fredbeginner Messages postés 10 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 8 avril 2008
5 avril 2008 à 18:41
L'affichage va vite, pour l'instant je ne suis qu'en phase de développement je ne bosse qu'en local avec Easyphp, mais j'ai limité la taille des image à 250Ko ce qui semble suffisant.

Quant à savoir si on peut avec php parser le contenu d'un document Word ou rtf, je ne sais pas encore, mais fais une recherche sur le site ou via Google tu devrais trouver !

A+

Fred_Beginner
0
mahlaoui Messages postés 29 Date d'inscription lundi 10 décembre 2007 Statut Membre Dernière intervention 13 octobre 2008
13 juil. 2008 à 22:56
& pour l'insetion dans la BD ??
0
Rejoignez-nous