| |||
![]() que tal, ahi les va mi problemita: estoy almacenando en una base de datos unos archivos pdf (en eso no hay problema), el problema es como le hago para visualizar el contenido de un pdf especifico que yo selecciones de una lista de archivos almacenados, es decir, algo como que al darle click en el nombre del archivo apdf almacenado me lo visualice directo con acrobat reader, espero me hayan entendido. Gracias. |
| |||
Usando cabeceras HTTP y leyendo tu archivo hacia el buffer de salida de PHP podrías hacer lo que pretendes. Sería algo tipo: Código PHP: http://www.php.net/header Un saludo, Última edición por Cluster; 30/09/2004 a las 13:50 |
| |||
cluster ya hice lo que me pusiste pero me manda el siguiente error: <br> <b>Warning</b>: readfile("PGC-DE-CD_borrador_.pdf") - No such file or directory in <b>d:\www\intranet\form_list_arch.php</b> on line <b>16</b><br> y este es el codigo que utilizo para "recuperar" el pdf de my base de datos: <? $conexion=mysql_connect("localhost","","") or die ("no se ha podido conectar a la BD"); mysql_select_db("sgc04") or die ("no se ha podido seleccionar la BD"); $sql = "SELECT archivo_nombre, archivo_binario,archivo_tipo FROM archivos where id='1' "; $consulta = mysql_query($sql,$conexion); $datos = mysql_result($consulta,0,"archivo_binario"); $tipo = mysql_result($consulta,0,"archivo_tipo"); $nombre=mysql_result($consulta,0,"archivo_nombre") ; header('Content-type: application/pdf'); header('Content-Disposition: inline; filename="$nombre"'); readfile($nombre); ?> Gracias. |
| |||
Pero donde tienes ese archivo .. en que ruta? .. seguro que está en el mismo sitio que tienes y ejecutas ese script PHP o está en otra ruta? Si corresponde .. en: readfile($nombre); Tendrías que añadir la ruta tipo: readfile("archivos/".$nombre); Y sobre todo asegurate que ese archivo en concreto: PGC-DE-CD_borrador_.pdf exista con ese nombre y en la ruta indicada. |
| |||
Ahh .. ahora me dí cuenta .. En tu BD tienes el archivo completo .. NO referencias al archivo!!! .. así que cambia el asunto. en lugar de readfile() tienes que hacer un simple: echo $datos; El resto .. como está. De hecho .. el código que pusistes parece basado en: http://www.forosdelweb.com/f18/tutorial-ejemplo-subir-archivos-bd-guardando-bd-binario-127775/ Si te fijas .. el script "ver.php" ya hace eso mismo. Además que como usa el "$tipo" como formato MIME del archivo serviría para todo tipo de archivo .. no sólo PDF's sino también para .doc por ejemplo u otros .. Eso sí, algo más completo es si usas las cabeceras de 'Content-Disposition:' Un saludo, |
| |||
a caray, pues no lo tengo en ninguna ruta, intento sacarlo de una tabla mysql por medio de la consulta: $sql = "SELECT archivo_nombre, archivo_binario,archivo_tipo FROM archivos where id='1' "; despues de sacarlo, lo que necesito es ya visualizar el contenido de ese PDF. para insertarlo en la base de datos me base en el Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario) que encontre en los faqs de este foro. |
| |||
ya hice los cambios, al tratar de leer el archivo, parece que se "lanza" la aplicacion "acrobat reader" pero manda un mensaje : "El archivo esta dañado y no puede repararse". Cuando aparentemente lo subi correctamente a la base de datos. |
| |||
Revisa si tu PDF subió completo a tu BD (verifica su tamaño y lee las notas acerca de los tipos de campos usados y su tamaño .. puede ser que no subiera completo al la tabla) Un saludo, |