Foros del Web » Programando para Internet » PHP »

Descargar archivo pdf

Estas en el tema de Descargar archivo pdf en el foro de PHP en Foros del Web. Hola, he visto por ahí como descargar un archivo pdf mediante php Código: $mi_pdf = $ruta_del_pdf; header('Content-type: application/pdf'); header('Content-Disposition: attachment; filename="'.$mi_pdf.'"'); readfile($mi_pdf); Se supone que ...
  #1 (permalink)  
Antiguo 17/06/2009, 10:57
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 14 años, 10 meses
Puntos: 0
Descargar archivo pdf

Hola,

he visto por ahí como descargar un archivo pdf mediante php

Código:
$mi_pdf = $ruta_del_pdf;
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="'.$mi_pdf.'"');
readfile($mi_pdf);
Se supone que con ese código se debería de poder descargar dicho fichero, pero a mí me pasa algo raro, en vez de pedirme descargarlo me lo intenta abrir y me salen estos caracteres chinos:

Código:
%PDF-1.4
%����
6 0 obj <>
endobj
He ignorado el resto de caracteres, me parecía excesivo mostrarlos todos. Bueno la cosa es que cuando abro la página por primera vez, la codificación es la buena y los caracteres especiales si los veo bien, pero a la hora de querer descargar un pdf de un select que tengo, recargo la página y me parece que la codificación cambia y por eso intenta abrirme el pdf, además los caracteres especiales ahora se ven como "chinos". Llevo líado con este problema un par de horas y nada.

Gracias de antemano.
  #2 (permalink)  
Antiguo 17/06/2009, 11:04
 
Fecha de Ingreso: junio-2009
Mensajes: 19
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Descargar archivo pdf

Comprueba que no produces salidas antes de enviar los headers!!
Hay veces que da problemas el cerrar la etiqueta php y a continuación hacer un salto de carro, comprueba también eso.
  #3 (permalink)  
Antiguo 17/06/2009, 11:13
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Descargar archivo pdf

Hola,

Aquí muestro mi código php antes del código html:

Código:
<?
if($_COOKIE['login'] != true){
	header("Location: login.html");		
}


if($_GET['tit'] == 0 || $_GET['cur'] == 0 || $_GET['asi'] == 0 ){
	exit();
}

if($_GET['des'] != ""){
    $des1 = $_GET['tit'];
    $des2 = $_GET['cur'];
    $des3 = $_GET['asi'];
    $des4 = $_GET['des'];
    $mi_pdf = 'directorio/'.$des1.'/'.$des2.'/'.$des3.'/'.$des4;

    header('Content-type: application/pdf');
    header('Content-Disposition: attachment; filename="'.$mi_pdf.'"');
    readfile($mi_pdf);
}

?>
Como puedes ver, primero compruebo las cookies, luego que los datos que busco no sean nulos y luego si todo va bien, hago la petición de descarga. No veo que puede ser el fallo.
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 20:35.