PDA

Ver la Versión Completa : recuperar pdf grabado en mysql


smendo
23-05-2005, 11:39:03
Hola, hace unos días escribí un mensaje planteando algunas dudas acerca de como gestionar pdf desde php y mysql. Gracias a la informacion de otro hilo he podido poner en funcionamiento el tema, pero la cuestion con la que me encuentro ahora es que al intentar mostrar el fichero pdf guardado en la base de datos mysql siempre obtengo un error. Para situaros:

- He comprobado que el fichero pdf se guarda correctamente en la base de datos (o al menos eso veo en los registros de la tabla)

- Al intentar mostrar el fichero, la aplicacion acrobat reader hace como que se abre y es entonces cuando obtengo el error de 'fichero incorrecto o dañado...' o algo así.

Que puede estar pasando? en principio creo haber seguido los pasos correctamente. Adjunto texto de los ficheros implicados

SCRIPT QUE GUARDA EL ARCHIVO EN LA BASE DE DATOS
<?php
require("./conexion.php");

$archivo = $_FILES["archivito"]["tmp_name"];

if ( $archivo != "none" )
{
$fp = fopen($archivo, "rb");
$contenido = fread($fp, filesize($archivo));
$contenido = addslashes($contenido);
fclose($fp);

$qry = "INSERT INTO pdf VALUES ('$contenido')";
mysql_query($qry, $conn);

if(mysql_affected_rows($conn) > 0)
print "Se ha guardado el archivo en la base de datos.";
else
print "NO se ha podido guardar el archivo en la base de datos.";
}
else
print "No se ha podido subir el archivo al servidor";
?>


SCRIPT QUE PRESENTA EL FICHERO PDF EN PANTALLA

<?php
require("conexion.php");

$qry = "SELECT contenido FROM pdf";
$res = mysql_query($qry);
$contenido = mysql_result($res, 0, "contenido");

header("Content-type: application/pdf");
print $contenido;
?>


Y hasta aquí todo. Por orientaros puedo deciros que el campo blob de la base de datos mysql que contiene el fichero pdf no muestra el mismo contenido que al visualizar el pdf en un editor de texto. De hecho, el contenido del campo de la base de datos es como si estuviera truncado, no se...

muchas gracias de antemano.

Saludos.