Hola a tod@s Tengo un problema al leer imágenes desde la base de datos en php. OS: Centos 7 Postgresql: 9.6 PHP: 5.4.16
Antes usaba oid y esas cosas en postgresql 7 @ del año 2003, pero ahora tengo la necesidad de guardar imágenes en la base de datos en postgresql 9.6. Esta es mi tabla. Tabla «public.personal» Columna | Tipo | Modificadores ---------------+------------------------+--------------- id | integer | not null nombre | character varying(255) | horario | character varying(200) | puesto | character varying(255) | ingreso | date | departamento | character varying(255) | clasificacion | character varying(255) | tarjeta | character varying(50) | foto | bytea | Índices: "pk_orbis" PRIMARY KEY, btree (id) "tarjeta_unica" UNIQUE CONSTRAINT, btree (tarjeta) Referenciada por: TABLE "acceso" CONSTRAINT "fk_tarjeta_personal" FOREIGN KEY (tarjeta) REFERENCES personal(tarjeta) ON UPDATE CASCADE ON DELETE RESTRICT Las imágenes las guardo en un bytea y las puedo obtener como sigue \copy (select encode(foto, 'hex') from personal where id = 193) to '/home/nahum/Escritorio/imagen.hex'; y luego xxd -p -r imagen.hex > imagen.jpg desde bash La imágen se ve bien. Pero el siguiente código no funciona. <?php // Conectar a la base de datos $dbconn = pg_connect("host=localhost port=5432 dbname=personal user=nahum password=xxxx"); // Obtener los datos $res = pg_query("SELECT foto FROM personal WHERE id=193;"); $row = pg_fetch_row($res); // Convertir a binario? $image = pg_unescape_bytea($row[0]); header("Content-type: image/jpeg"); echo $image; pg_close($dbconn); ?> El problema es que no obtengo ninguna imágen, solo: "No se puede mostrar la imágen por que contiene errores" ¿Se puede emular xdd -p -r en postgres o en php? Saludos y gracias. Nahum. -- *Nahum Castro González* Blvd. Perdigón 214, Brisas del Lago. CP 37207 León, Guanajuato, México Tel (477)1950304 Cel (477)1274694