Foros del Web » Programando para Internet » PHP »

FPDF a MySQL

Estas en el tema de FPDF a MySQL en el foro de PHP en Foros del Web. Alguien sabe como puedo pasar el pdf generado con fpdf directamente a base de datos, sin mostrar el pdf fisicamente? Saludos!...
  #1 (permalink)  
Antiguo 03/04/2008, 21:04
 
Fecha de Ingreso: marzo-2008
Mensajes: 11
Antigüedad: 16 años
Puntos: 0
FPDF a MySQL

Alguien sabe como puedo pasar el pdf generado con fpdf directamente a base de datos, sin mostrar el pdf fisicamente?

Saludos!
  #2 (permalink)  
Antiguo 03/04/2008, 21:25
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: FPDF a MySQL

Hola cesar_balderas,

Podrias hacer algo así:
Código PHP:
ob_start();
$pdf->Output();
$archivo addslashes(ob_get_clean());

$sql "INSERT INTO archivos (`pdf`) VALUES ('$archivo' )"
Saudos.
  #3 (permalink)  
Antiguo 08/04/2008, 10:34
 
Fecha de Ingreso: marzo-2008
Mensajes: 11
Antigüedad: 16 años
Puntos: 0
Re: FPDF a MySQL

Muchas gracias GatorV.

El archivo se guardó correctamente
  #4 (permalink)  
Antiguo 14/04/2008, 19:20
 
Fecha de Ingreso: marzo-2008
Mensajes: 11
Antigüedad: 16 años
Puntos: 0
Re: FPDF a MySQL

Surgio un problema.

Al utilizar ob_start(), $pdf->Output(), ob_get_clean(), y ob_end_clean()

y me marca en el navegador (IE y Mozilla Firefox) el siguiente error:

File does not begin with %PDF

pero si lo guarda bien en el servidor de base de datos.

Si utilizo el ob_get_content, en lugar de ob_get_clean y le quito el ob_end_clean(), no marca el error, pero me abre el documento pdf, y yo lo que quiero es que lo guarde en bd, y se vaya a la página de inicio.

Lo curioso es que sin el ob_start(), si me abre bien el pdf el navegador.

Que puede ser el error =(

Pd. Intente poniendo $pdf->Output(´prueba.pdf'); Este no marca error, pero no guarda nada en BD, por lo que supongo q no llega al buffer

Última edición por cesar_balderas; 14/04/2008 a las 19:25
  #5 (permalink)  
Antiguo 15/04/2008, 09:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: FPDF a MySQL

El problema es que $pdf->Output envia cabeceras indicándole al explorador que va a recibir un archivo del tipo PDF. Lo que debes de hacer es después de ob_end_clean es mandar luego luego tu cabecera de header() con la redirección a tu pagina de index.

Saludos.
  #6 (permalink)  
Antiguo 15/04/2008, 11:08
 
Fecha de Ingreso: marzo-2008
Mensajes: 11
Antigüedad: 16 años
Puntos: 0
Re: FPDF a MySQL

Podrias darme un ejemplo de estas cabezeras.

Esto es como yo lo hago (previo, ya llene mi objeto $pdf-> ):

ob_start();

$pdf->Output();

$archivo = addslashes(ob_get_clean());

ob_end_flush();

$qry1 ="
insert into tr_alumno
(nombre,domicilio,telefono,email,institucion,posgr ado,nivel_idnivel,disciplina,area_idarea)
values
('$nombre','$domicilio','$tel','$mail','$inst','$p os',$nivel,'$dis',$centro)";

mysql_query($qry1);
if(mysql_affected_rows($conn) > 0) {

$idalumno=mysql_insert_id();
$qry = "
insert into tr_resumen
(titulo,autor,colaborador,piepagina,contenido,alum no_idalumno,fecha_registro, situacion_idsituacion,resumenpdf)
values
('$titulo','$autor','$colaboradores','$pie','$cont enido',$idalumno,'$fecha_reg',0, '$archivo')";

mysql_query($qry);
if(mysql_affected_rows($conn) > 0) {
echo "<html>";
echo "<meta HTTP-EQUIV=\"REFRESH\" content=\"0; url=../../index.php\">";
echo "</html>";
}
}
  #7 (permalink)  
Antiguo 15/04/2008, 11:11
 
Fecha de Ingreso: marzo-2008
Mensajes: 11
Antigüedad: 16 años
Puntos: 0
Re: FPDF a MySQL

Creo q mi problema comenzo al intentar redireccionar la página después de guardar en base de datos.

Existe otra forma de redireccionar con php sin utilizar el <meta... REFRESH... ?
  #8 (permalink)  
Antiguo 15/04/2008, 11:13
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: FPDF a MySQL

Código PHP:
if(mysql_affected_rows($conn) > 0) {
      
header"Location: ../../index.php" );

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:39.