Foros del Web » Programando para Internet » PHP »

Forzar descarga de archivos pdf

Estas en el tema de Forzar descarga de archivos pdf en el foro de PHP en Foros del Web. Hola: Tengo una página donde tengo un archivo en formato pdf y lo que quiero es que al dar a la opción de Descargar el ...
  #1 (permalink)  
Antiguo 08/06/2011, 03:40
 
Fecha de Ingreso: abril-2006
Mensajes: 128
Antigüedad: 18 años
Puntos: 1
Forzar descarga de archivos pdf

Hola:
Tengo una página donde tengo un archivo en formato pdf y lo que quiero es que al dar a la opción de Descargar el usuario pueda descargar este archivo, donde le salga la ventana de descarga y no que lo vea directamente.

La página donde tengo puesto el código se llama acto.php. La variable $pdfCartel es la ruta donde esta el pdf. Con eso no tengo problemas.

El código que he puesto es el siguiente:

$enlace = $path_a_tu_doc."/".$id;
header ("Content-Disposition: attachment; filename=".$id." ");
header ("Content-Type: application/octet-stream");
header ("Content-Length: ".filesize($enlace));
readfile($enlace);

<p><a class="enlaces" href="acto.php?id=carteles/<?php echo $pdfCartel;
?>">Descargar</a></p>


Y me sale el siguiente error en la página.:
Cannot modify header information - headers already sent by (output started at

me sale una línea de error por cada header que tengo puesto.
Como podría hacer para forzar que salga la ventana de descarga.

Muchas gracias
  #2 (permalink)  
Antiguo 08/06/2011, 05:12
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Forzar descarga de archivos pdf

con solo poner en enlace al archivo se te inicia la descarga, no necesitas poner ningun header
  #3 (permalink)  
Antiguo 08/06/2011, 05:17
 
Fecha de Ingreso: abril-2006
Mensajes: 128
Antigüedad: 18 años
Puntos: 1
Respuesta: Forzar descarga de archivos pdf

También he probado a poner solo el enlace,

<p><a class="enlaces" href="carteles/<?php echo $pdfCartel; ?>" target="_blank">Descargar</a></p>


y si no pongo target se me abre el pdf en la misma ventana.
Pero de esta manera no consigo que se abra la ventana de descargar el pdf. En la variable $pdfCartel, tengo recogida la ruta del pdf que se tiene que abrir cada vez. Ya que lo tengo echo dinámicamente porque lo recojo de base de datos.

Pero solo consigo que me salga el pdf en otra ventana, sin que salga la opción de abrir, o guardar.
  #4 (permalink)  
Antiguo 08/06/2011, 06:05
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Forzar descarga de archivos pdf

a ver, si no le pones el target hace lo que tu quieres en tu ventana ????
no entendí bien
  #5 (permalink)  
Antiguo 08/06/2011, 06:08
 
Fecha de Ingreso: abril-2006
Mensajes: 128
Antigüedad: 18 años
Puntos: 1
Respuesta: Forzar descarga de archivos pdf

Lo que me hace es abrirme el pdf pero no me sale la ventana de guardar, para forzar al usuario que guarde el fichero que va a descargar. Si no lo que me sale es que se me abre directamente el pdf.
Si no pongo el target, pues se me abre el pdf en la misma ventana que estoy y si pongo el target se me abre en otra ventana. Pero en realidad eso no es lo que quiero, yo lo que quiero es que salga la ventana de guardar pdf.
  #6 (permalink)  
Antiguo 08/06/2011, 06:11
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Forzar descarga de archivos pdf

ahhh.. bueno aca te paso

http://www.webtaller.com/construccio...s_archivos.php
http://blog.unijimpe.net/forzar-descarga-con-php/
http://www.cristalab.com/tutoriales/...con-php-c166l/
todos extraidos de
http://www.google.com.ar/search?sour...scarga+%2B+php
  #7 (permalink)  
Antiguo 08/06/2011, 06:37
 
Fecha de Ingreso: abril-2006
Mensajes: 128
Antigüedad: 18 años
Puntos: 1
Respuesta: Forzar descarga de archivos pdf

Muchas gracias por la información.

Pero eso es lo que he puesto en el primer mensaje y es cuando me sale el error.

No me funciona lo del header.
  #8 (permalink)  
Antiguo 08/06/2011, 06:42
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Forzar descarga de archivos pdf

http://www.tutores.org/codigo/1504/v...e-archivo-pdf/
  #9 (permalink)  
Antiguo 08/06/2011, 08:50
Avatar de ginitofl  
Fecha de Ingreso: diciembre-2006
Ubicación: Lima Perú
Mensajes: 349
Antigüedad: 17 años, 4 meses
Puntos: 22
Respuesta: Forzar descarga de archivos pdf

Hola Maribajar para forzar la descarga de archivos usa esto:

descarga.php

Código PHP:
<?php
    $extensiones 
= array("jpg""jpeg""png""gif""xlsx");//AQUI COLOCAS LAS EXTENCIONES DE LOS TIPOS DE ARCHIVO QUE NO DESEAS QUE SE DESCARGUE
    
$f $_GET["f"];

    
$ftmp explode(".",$f);
    
$fExt strtolower($ftmp[count($ftmp)-1]);

    if(!
in_array($fExt,$extensiones)){
        die(
"<b>ERROR!</b> no es posible descargar archivos con la extension $fExt");
    }
    
header("Content-type: application/octet-stream");
    
header("Content-Disposition: attachment; filename=\"$f\"\n");
    
$fp=fopen("$f""r");
    
fpassthru($fp);
?>
y lo llamas de esta manera:

Código PHP:
<a class="enlaces" href="descarga.php?f=carteles/<?php echo $pdfCartel?>">Descargar</a>
con eso puede forzar la descarga.

Saludos.
  #10 (permalink)  
Antiguo 08/06/2011, 08:55
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Forzar descarga de archivos pdf

buenísimo !!
  #11 (permalink)  
Antiguo 12/06/2011, 04:29
 
Fecha de Ingreso: mayo-2011
Mensajes: 16
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Forzar descarga de archivos pdf

hola, yo tengo un problema similar, y no soy capaz de que funcione.

de echo el archivo lo encuentra, pero no se me abre ninguna ventana, miro en la consola y me sale en respuesta todo el volcado del fichero, es un mp3, así que salen muchos símbolos y la cabecera id3

utilizo firefox4 con firebug

Etiquetas: descarga, pdf
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 02:15.