Principal

Inicio
Historial de noticias
Codigos en php
Codigos Javascript
Linux
 · Guia de comandos
Manuales HTML
 · Nivel principiante
Trucos Windows
 · Windows XP
 · Windows 95/98
 · Windows 2000/NT

Enviar articulos

Mas webs
Juegos y chistes

 
Codigos en php
Como forzar descargas

   Un sencillo código util, que nos servirá cuando necesitamos que nuestros visitantes descarguen algún archivo .doc desde nuestra web.

Lo que el código hará, será que la descarga de este archivo (.doc, .pdf, .txt, etc...) se descargue al computador de nuestro visitante, y no sea abierto por un programa o visitado online. Si el documento no es forzado a bajar se abrirá con su programa predeterminado (ej: Word para los archivos .doc)

Crearemos una página llamada:

bajando.php

A esa página le pondremos el siguiente código:

<?php

$id
= "archivo.doc";
$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);

?>

Luego para descargar un documento, se usará el siguiente enlace:

bajando.php?id=archivo.doc

Ahí deberás reemplazar archivo.doc, por el nombre de tu documento .doc, .pdf, .txt que desees descargar.

Saludos.
 


Volver.

Añadir comentario
¿No encuentras lo que buscas?
No te compliques, usa el buscador que nos ofrece google y encuentra todo lo que quieras.
Tutoriales, hosting, dominios, ayuda para el webmaster, etc.

Comentarios:

Enviado por: Aprendiz

Fecha: 15/11/2012 - 18:01:01  
pues nadamas no sirve ningun ejemplo de los que estan, al tiempo de abrir el archivo marca error u.u  

Enviado por: Aprendiz

Fecha: 30/04/2010 - 21:15:22  
al descargar un pdf, lo baja a 0 bite.... no descarga correctamente el tamaño del archivo  

Enviado por: Aprendiz

Fecha: 07/01/2010 - 21:13:32  
tengo problemas con el codigo no me lo reconoce me podrina explicar mejor
 

Enviado por: Daronwolff

Fecha: 05/10/2009 - 19:05:16  
Ok. Tengo un proble4ma con este código.
Cuando estoy descargando un archivo grande por ejemplo 100 Mb. No puedo acceder a otra sección de mi sitio.
Alguien sabe por que?
 

Enviado por: LiquidoWeb.com

Fecha: 21/07/2009 - 05:03:13  
Hola a todos la linea que tiene el secreto para poder abrir los PDF es esta:
$enlace = $path_a_tu_doc."/".$id;

quedando correctamente configurada asi:
$enlace = $path_a_tu_doc."descargas/".$id;

donde descargas es la carpeta que tiene los archivos a descargar...


Saludos a todos.

Jesús González / Asesor Web
www.LiquidoWeb.com
 

Enviado por: Socram8888

Fecha: 26/08/2007 - 17:04:27  
Esto está mal. El codigo correcto es:

<?php

$id
= $_GET["file"];
$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);

?>

Así, el enlace correcto es: "bajando.php?file=" y luego el archivo
 

Enviado por: Aprendiz

Fecha: 11/04/2007 - 00:05:18  
No me abre ningun archivo como que al momento de leerlos echa a perder los archivos.

ej. esto lo pone en un archivo de texto

<br />
<b>Warning</b>: filesize() [<a href='http://www.php.net/function.filesize'>function.filesize</a>]: Stat failed for Archivos/bootex.log (errno=2 - No such file or directory) in <b>D:Public_htmlGaleriaCarvelClasesFD.php</b> on line <b>8</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at D:Public_htmlGaleriaCarvelClasesFD.php:8) in <b>D:Public_htmlGaleriaCarvelClasesFD.php</b> on line <b>8</b><br />
<br />
<b>Warning</b>: readfile(Archivos/bootex.log) [<a href='http://www.php.net/function.readfile'>function.readfile</a>]: failed to create stream: No such file or directory in <b>D:Public_htmlGaleriaCarvelClasesFD.php</b> on line <b>9</b><br />
 

Enviado por: Aprendiz

Fecha: 27/07/2006 - 22:24:05  
esta bien pero no baja bien los archivos .rar, .gif,.jpg  

Enviado por: Aprendiz

Fecha: 06/06/2006 - 17:02:44  
$path_a_tu_doc es una variable predefinida por php?  

Enviado por: Aprendiz

Fecha: 13/04/2006 - 02:53:26  
Ahi le pones la direccion de la carpeta del fichero por ejemplo
$path_a_tu_doc="/ficheros/pruebas";

Es todo
 

Enviado por: Aprendiz

Fecha: 31/01/2006 - 14:25:19  
no entoendo ke tengo ke poner aca...$path_a_tu_doc.
 

Enviado por: Aprendiz

Fecha: 29/01/2006 - 19:47:32  
Está bien, pero al abrir los ficheros con el adobe acrobat, me da error  

Tu alias:

 

Comentario:

 
  Introduce codigo de seguridad
 

¿Quieres ver tu articulo publicado en esta pagina?

Visita la zona de envios, pulsando aqui

 
Anuncios
Hospedaje recomendado
Hospedaje y dominios - El hosting inteligente al mejor precio

Visitantes: 5
Pagina generada en: 0.00150 segundos