Affichage en php/odbc d'une image blob

Fermé
caro384 Messages postés 91 Date d'inscription jeudi 18 janvier 2007 Statut Membre Dernière intervention 6 juin 2015 - 28 mars 2011 à 16:28
caro384 Messages postés 91 Date d'inscription jeudi 18 janvier 2007 Statut Membre Dernière intervention 6 juin 2015 - 29 mars 2011 à 14:41
Bonjour à tous
j'ai un petit soucis de programmation en php odbc pour l'affichage d'une image stockée dans un champ blob.
L'affichage des autres données fonctionnent correctement, aussi j'ai fait une page test pour l'affichage simple d'une seule image.
Je me retrouve avec 1cm d'image et le reste en gris foncé...
J'ai essayer de charger par sauvegarde, img src, l'image charge bien, cela ne vient donc pas du fichier.
Je précise que les fichiers image sont très légers (15ko).
J'espère que quelqu'un pourra m'apporter une solution, je suis un peu rouillée en php alors n'hésitez pas à détailler ! J'ai testé plusieurs fonctions d'affichage, mais sans succès.

Merci d'avance


<?php
$id=196;
$dsn="DSN Interbase";
$user="crystal";
$pwd="crystal";
$conn=odbc_connect($dsn,$user,$pwd)or die('Error connecting to server');
$H = "SELECT ARTDT.IMAGE
FROM ARTDT
WHERE (ARTDT.ID='$id') ";
$exec = odbc_exec($conn,$H);
while ($data=odbc_fetch_array($exec))
{
$image=$data['IMAGE'];
$image = @imagecreatefromstring($image);
imagejpeg($image);
echo $image;
}
?>
A voir également:

2 réponses

boly38 Messages postés 267 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 29 septembre 2016 80
Modifié par boly38 le 28/03/2011 à 16:44
regarde du côté de la fonction header en php
https://www.php.net/manual/fr/function.header.php

je tenterai bien un code du genre :
header('Content-Type: image/jpg', true);  
echo $image;  
0
caro384 Messages postés 91 Date d'inscription jeudi 18 janvier 2007 Statut Membre Dernière intervention 6 juin 2015
28 mars 2011 à 16:47
Essayé mais non rien n'y fait. Le début de l'image s'affiche, mais uniquement sur 1cm de hauteur, le dessous n'apparait pas.
Est-il possible que l'extraction depuis le champ blob soit mauvaise ou qu'il y ait une erreur de conversion du fichier ?
Je précise que je travaille aussi sous Crystal Report et que pour les mêmes requetes et même images, il n'y a pas de soucis.

Merci pour votre aide
0
boly38 Messages postés 267 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 29 septembre 2016 80
28 mars 2011 à 17:08
dans l'exemple de départ, peut être enlever le "echo" car imagejpeg($im) produit déjà la sortie.
0
caro384 Messages postés 91 Date d'inscription jeudi 18 janvier 2007 Statut Membre Dernière intervention 6 juin 2015
28 mars 2011 à 17:18
ça ne fonctionne pas... je désespère un peu tant j'ai essayé de choses différentes. Y a til des incompatibilités entre php et les variables stockées sous un BLOB ?
0
boly38 Messages postés 267 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 29 septembre 2016 80
28 mars 2011 à 17:35
déjà sans passer par imagecreate (qui est basé sur la librairie GD donc sur l'installation de php) çà ne fonctionne pas ?

et puis pourquoi un odbc_fetch_array ? il n'y a qu'une image à la fois ? donc qu'un resultat et plutôt un odbc_fetch_row

aussi mettre php avec des traces d'erreurs et warnings (php.ini) çà peut donner plus d'informations
puis dans le premier exemple, je tenterai de remplacer la fin comme ceci :
$queryexe = odbc_do($connection, $query);
$mydata=odbc_fetch_row($queryexe));
$imagerawdata = $mydata['IMAGE'];
header('Content-Type: image/jpg', true);  
echo $imagerawdata;  
0
caro384 Messages postés 91 Date d'inscription jeudi 18 janvier 2007 Statut Membre Dernière intervention 6 juin 2015
28 mars 2011 à 18:02
là je n'ai plus rien du tout qui s'affiche, page blanche.
Pas de message d'erreur.
J'ai également tenté imagecreatefromstring mais idem cela ne fonctionne pas.
J'ai tenté de sauvegarder dans un fichier l'image trouvée : le jpg fait la bonne taille, mais juste la partie supérieure de l'image est remplie, le bas de l'image est blanc.
0
caro384 Messages postés 91 Date d'inscription jeudi 18 janvier 2007 Statut Membre Dernière intervention 6 juin 2015
29 mars 2011 à 14:30
Quelqu'un a-t-il une idée ?
0