From: | Nahum Castro <nahumcastro(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Leer imágenes desde la base de datos con php |
Date: | 2016-10-20 01:46:12 |
Message-ID: | CABqArLgooQ3X-=GzRAzL2=wec72CM=r9YR0TvSvKRES6m9zqfw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola a tod(at)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
From | Date | Subject | |
---|---|---|---|
Next Message | Nahum Castro | 2016-10-20 05:52:40 | Re: [pgsql-es-ayuda] Leer imágenes desde la base de datos con php |
Previous Message | Germán C. Basisty | 2016-10-19 00:00:22 | Re: Configuracion |