Buscador

Busca aquí los artículos:

 

RSS Suscríbete al Boletín

Escribe tu correo para recibir nuestro boletín de artículos:

Plan Iniciación

1 Dominio

3 Gb de Tráfico Mensual

2 Bases de datos MySql

250 Mb de espacio Web y Correo

Ilimitadas BD Access

Programación ASP, ASP.Net y PHP

Precio: 5 € / Mes

Ir Plan Inicial

Plan Básico

1 Dominio

8 Gb de Tráfico Mensual

10 Bases de datos MySql

600 Mb de espacio Web y Correo

Ilimitadas BD Access

Programación ASP, ASP.Net y PHP

Precio: 10 € / Mes

Ir Plan Básico

Plan Profesional

1 Dominio

20 Gb de Tráfico Mensual

30 Bases de datos MySql

1,5 Gb de espacio Web y Correo

Ilimitadas BD Access

Programación ASP, ASP.Net y PHP

Precio: 18 € / Mes

Ir a Plan Profesional

Plan Profesional ISP

50 Gb de Tráfico Mensual

50 Bases de datos MySql

4,5 Gb de espacio Web y Correo

Ilimitadas BD Access

Programación ASP, ASP.Net y PHP

Precio: 30 € / Mes

Ir a Plan Profesional ISP

Servidor Linux

Tu servidor dedicado con sistema Linux por 199 € al mes .

 

 

Ver más

Servidor Windows

Tu servidor dedicado con sistema Windows por 210 € al mes .

 

 

Ver más

Registre su dominio ahora

www.

Su dominio en 24 horas
Su propio nombre de dominio en un tiempo record, sin complicaciones ni compromisos.

Descarga de archivos en PHP

Feed RSS Estás en PHP Fecha: 27/09/2007

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

PHPAlguna vez nos ha pasado que necesitamos que un archivo en concreto sea descargado en vez de visualizado por la Web. El problema es que algunos archivos tipo .zip, .doc, .rar ya están asociados a nuestra máquina y esta los intenta abrir en vez de descargarlos.

Pues bien, esto es fácilmente solucionable si usamos el encabezado "octet-stream" para enviar el archivo... este encabezado le dice al navegador que vamos a recibir un paquete... pero no sabe cual, ejemplo:

<?php
$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);
?>

Esta página la nombramos como "download.php" por ejemplo y para enviar a descargar el archivo la usamos de esta manera:

download.php?id=archivo.pdf

Seguidamente del id= debemos de color el nombre del archivo que deseamos descargar.

Espero que os sirva de ayuda.

 

Lecturas: 1406

Comentarios de los Usuarios (7)

Shirley escribió:

Fecha: 22/10/2007 19:19:48

Descarga de archivos
Una consulta, despues de haber creado la pagina para descarga de archivos

$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);
?>
el siguiente codigo $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);
?>
el archivo download.php?id=archivo.pdf lo asigno junto con el código anterior o lo creo en otra pagina??? No lo tengo claro


Brian escribió:

Fecha: 23/10/2007 16:30:38

Va en otro sitio diferente
El código de download.php?id=archivo.pdf lo tienes que referenciar desde un hipervínculo, no en la misma página.

Me imagino que es eso lo que preguntas. Para cualquier pregunta tienes el foro disponible en el menú superior.

Un saludo.

RIDERZON@hotmail.com escribió:

Fecha: 02/12/2007 8:35:01

Por que me descarga el archivo .php vacio
todo lo que esta expuesto anteriormente lo he hecho y me descarga el archivo pero hay un problema que me descarga vacío tu crees que tenga que ver con algo de permisos de chmod o es que falta agregar mas códigos.
Bueno un favor si en caso me pudieras ayudar agregame al msn RIDERZON@hotmail.com te estaría muy agradecido.
Saludos

Luciano escribió:

Fecha: 20/04/2008 21:26:58

A mi me pasa igual que a ti
A mi también me descarga un archivo vacío, he probado cambiando los permisos pero nada. Estaría agradecido si me dierais una solución.

Flor escribió:

Fecha: 28/05/2008 17:47:13

Problemas con la descarga de archivos
Hola, en mi pagina de descarga de archivos me sale la ventana de descarga pero cuando le doy clic en abrir me sale un mensaje que me dice q no se puede encontrar el archivo parece ser que no lo esta descargando en los temporales, me podria ayudar por favor. este es mi codigo

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

marcos huerta hernandez escribió:

Fecha: 05/06/2008 23:09:10

Tal vez el problema se pueda deber ala version
yo lo realize desde la compu de la escuela y no me funciono de echo si pero me baja el archivo vacio pero lo volvi a intentar desde la compu de mi casa y si me ha funcionado lo unico de diferencia es que en uno es la version 4.1.0 de php y en mi compu tengo el 5.2.1 de echo en una lap que tengo le instale php 5.0.1 y tambien me funciona

andrea escribió:

Fecha: 04/08/2008 22:02:20

necesito ayuda
el archivo download.php?id=archivo.pdf va en diferente página de php o html

Escribe tu comentario

Nombre:
Título:
Comentario:
Marca esta opción si eres humano

Hosting y Alojamiento Web