Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: yoelrodguez en 3 Abril 2023, 18:59 pm



Título: Problema a la hora de descargar un pdf
Publicado por: yoelrodguez en 3 Abril 2023, 18:59 pm
Hola, tengo la siguiente situación: estoy usando ezpdf para generar un fichero en pdf, pero me está sucediendo que después que se me actualizo el navegador google chrome me genera sin problema el  pdf, pero cuando lo voy a descargar me lo descarga con el nombre y la extensión (.php) en lugar de pdf, cuando esto me sucede el fichero se abre como pdf pero totalmente en blanco.  Estuve viendo en la clase de ezpdf  y si este enviando la cabecera  con el nombre. A continuación le dijo el código de la clase para ver si me pueden ayudar.

Gracias 


Código:
  header("Content-type: application/pdf");
  header("Content-Length: ".strlen(ltrim($tmp)));
  $fileName = (isset($options['Content-Disposition'])?$options['Content-Disposition']:'file.pdf');
  header("Content-Disposition: inline; filename=".$fileName);
  if (isset($options['Accept-Ranges']) && $options['Accept-Ranges']==1){
    header("Accept-Ranges: ".strlen(ltrim($tmp)));
  }
  echo ltrim($tmp);


Título: Re: Problema a la hora de descargar un pdf
Publicado por: B€T€B€ en 3 Abril 2023, 21:12 pm


¿No puedes cambiar la extensión?


Título: Re: Problema a la hora de descargar un pdf
Publicado por: yoelrodguez en 3 Abril 2023, 21:38 pm
Gracias, por contestar. Provee cambiando la extensión y sin problema me abre el documento con el contenido. Existe alguna forma que yo lo pueda exportar de forma directa con el nombre que le estoy definiendo, sin necesidad de cambiar él nombre cada vez que lo vaya a guardar. 


Título: Re: Problema a la hora de descargar un pdf
Publicado por: B€T€B€ en 4 Abril 2023, 00:03 am


Tienes que exportarlo con la extensión .pdf


Título: Re: Problema a la hora de descargar un pdf
Publicado por: yoelrodguez en 4 Abril 2023, 00:12 am
Gracias, hice una modificación en las cabeceras y me está trabajando en el momento de generarlo, lo descargo y sin problema me queda el nombre, les dejo el código por si alguien más le hace falta.

Código:
 header("Content-type: application/pdf");
  header('Content-Type: application/octet-stream');