Sacar archivo de db. Pregunta de PHP.

From: Pablo Braulio <brulics(at)gmail(dot)com>
To: postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Sacar archivo de db. Pregunta de PHP.
Date: 2008-05-05 12:09:03
Message-ID: 481EF8DF.7010305@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hola a todos.

Ante todo, disculpar que haga una pregunta sobre un tema que no todo
tiene que ver con postgres.

Hago esta pregunta, pues estoy seguro que en este foro habrá gente que
trabaja con php+postgres y seguramente podrán ayudarme.

La cuestión es, que pretendo recuperar un archivo insertado en la bd.

Según he revisado en la documentación lo puedo hacer con campos de tipo
bytea o con tipo oid.

Con el tipo oid, puedo hacer el insert del tipo:

\lo_import 'directorio/achivo'

insert into tabla(campos...) values(...,:LASTOID)

y para sacarlo:

\lo_export 'directorio/archivo'

Realmente este modo no muestra el archivo, sino que lo guarda en un
directorio.

El caso es con el tipo bytea.

El insert lo tengo claro:

$nombre= $_FILES["archivo"]["name"];
copy($_FILES["archivo"]["tmp_name"],"temp/".$nombre);
$contenido= file_get_contents("temp/".$nombre);
$archivo= pg_escape_bytea($contenido);

$ins= "insert into ...." ....

Leo el contenido del archivo, lo escapo a bytea y luego lo inserto del
modo normal.

Pero para sacarlo es el problema.

He probado con esto:

$sel= "select documento, nombdoc from comunicacionesclientes where id=19";
$qSel= pg_query($sel);
$rSel= pg_fetch_array($qSel);

header('Content-type: application/force-download');
header('Content-type: application/octet-stream');
header('Content-type: application/download');
header('Content-Disposition: attachment; filename='.$rSel["nombdoc"].'');

echo pg_unescape_bytea($rSel["documento"]);

Pero sólo me muestra la url del archivo.

Espero que alguien me pueda ayudar.

Gracias a todos, y perdón por el off-topic.
- --

< ¡¡Nos vemos!! >
----------------------------
\
\
.::!!!!!!!:.
.!!!!!:. .:!!!!!!!!!!!!
~~~~!!!!!!. .:!!!!!!!!!UWWW$$$
:$$NWX!!: .:!!!!!!XUWW$$$$$$$$$P
$$$$$##WX!: .<!!!!UW$$$$" $$$$$$$$#
$$$$$ $$$UX :!!UW$$$$$$$$$ 4$$$$$*
^$$$B $$$$\ $$$$$$$$$$$$ d$$R"
"*$bd$$$$ '*$$$$$$$$$$$o+#"
"""" """""""
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIHvjfK7lGsMchFswRAnORAJ9ArAyfhxqISE6ws27zXxtfC/yNkQCgsMG4
qfeNICbNehxTwhznHXjF21M=
=3pRb
-----END PGP SIGNATURE-----

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Silvio Quadri 2008-05-05 12:36:30 Re: Sacar archivo de db. Pregunta de PHP.
Previous Message Martin Marques 2008-05-05 10:54:53 Re: Aumentar el desempeño del servidor