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-----
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 |