Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#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