Foros del Web » Creando para Internet » HTML »

Descarga de archivos desde mi web

Estas en el tema de Descarga de archivos desde mi web en el foro de HTML en Foros del Web. Buenos días, estoy añadiendo la descarga de unos PDF a mi web pero me los abre en el explorador y me gustaría que se descargaran ...
  #1 (permalink)  
Antiguo 12/12/2010, 02:35
 
Fecha de Ingreso: octubre-2010
Mensajes: 6
Antigüedad: 13 años, 5 meses
Puntos: 0
Descarga de archivos desde mi web

Buenos días, estoy añadiendo la descarga de unos PDF a mi web pero me los abre en el explorador y me gustaría que se descargaran directamente al equipo de quien visita la web. Por más vueltas que le doy cuando le doy a descargar el archivo pdf me lo abre en el explorador, no me gustaría tener que renombrar los archivos ni comprimirlos, muchas gracias un saludo.
  #2 (permalink)  
Antiguo 12/12/2010, 03:58
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Descarga de archivos desde mi web

para eso necesitas de un script de lado del servidor, el cual te permita modificar los headers de la petición para forzar una descarga, puedes conseguir ejemplos en google buscando cosas como:

php force download / php force download pdf / forzar descarga de pdf en php / etc.
asp force download
jsp force download

__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 12/12/2010, 12:02
 
Fecha de Ingreso: octubre-2010
Mensajes: 6
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Descarga de archivos desde mi web

Perfecto, pongo aquí el resultado por si a alguien le puede venir bien.

1º Editamos/creamos el archivo .htaccess, con el siguiente contenido:

RewriteEngine on
RewriteRule ^(.*).pdf$ _pdf.php?f=$1 [L]


2º Creamos el archivo _pdf.php y lo copiamos al directorio donde tengamos los pdf. Anadimos el siguiente contenido al archivo php:

<?php
if (file_exists ($_GET['f']))
{
header('Content-type: application/force-download');
header('Content-Disposition: attachment; filename=' . basename ($_GET['f']));
readfile($_GET['f']);
}
else
{
header('HTTP/1.0 404 Not Found');
echo 'Error, this file does not exist.';
}
?>


3º En el enlace de nuestra web en html añadimos lo siguiente:

<a href="http://www.tudominios.com/carpetapdf/_pdf.php?f=archivo.pdf" target="_self" Descargar PDF</a>
Muchas gracias por marcarme el camino maycolalvarez, gracias a ti lo he conseguido, un saludo.

Última edición por kroke; 12/12/2010 a las 12:10

Etiquetas: descargas
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 22:22.