PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 08/04/2014 16:10:58

mybofy
Membre

[Résolu]Afficher des images sans passer par un fichier intermédiaire

Bonjour

code qui marche :
$link = pg_Connect("host=localhost dbname=... user=... password='...'");
$res = pg_query($link, "select miniature  from photo ");
$numrows = pg_numrows($res);
for($ri = 0; $ri < $numrows; $ri++) {
$row = pg_fetch_array($res, $ri);
$img =  pg_unescape_bytea($row['miniature']);
$fln = "toto".$ri.".jpeg";
file_put_contents($fln, $img);
echo "<img src='".$fln."'/>";
}

Comment se passer du fichier intermédiaire $fln ?

Merci

Dernière modification par mybofy (11/04/2014 16:00:11)

Hors ligne

#2 08/04/2014 17:32:49

gleu
Administrateur

Re : [Résolu]Afficher des images sans passer par un fichier intermédiaire

Je ne sais pas. C'est plutôt à poser sur un forum HTML, CSS et PHP, ce genre de questions.


Guillaume.

Hors ligne

#3 11/04/2014 15:59:25

mybofy
Membre

Re : [Résolu]Afficher des images sans passer par un fichier intermédiaire

Ceci marche pour moi.

1. remplacer l'intérieur de la boucle par :
    $row = pg_fetch_array($res, $ri);
    $idPhoto = $row['id'];
    echo "<img src='image.php?idPhoto=" .$idPhoto. "' />";

2. créer un fichier image.php avec le contenu suivant :
<?php
    $idPhoto0 = $_GET['idPhoto'];
    $link = pg_Connect("host=localhost dbname=... user=... password=...");
    $sql = "select id, miniature  from photo where id=".$idPhoto0;
    $res = pg_query($link, $sql);
    $raw = pg_fetch_result($res, 'miniature');
    header('Content-Type: image/jpeg');
    echo pg_unescape_bytea($raw);
    pg_close($link);
?>

Commentaire.
- pour afficher une photo dans un document html, il faut utiliser l'élément img ;
  problème : img demande un uri (plus simplement le nom d'un fichier contenant une image jpeg ou autre ;
  on va donc utiliser un fichier image.php qui va générer l'image extraite de la base de donnée (ici PostgreSQL);
  ce fichier peut-être paramètre comme on veut ;
- cet exemple est à ajuster à chaque besoin;
- on n'a plus besoin d'avoir des fichiers de photos dont la gestion n'est pas simple, au moins dans mon cas.

Hors ligne

Pied de page des forums