|
|
·
Skindario
Buscar en el Foro Buscar Tags
Portal
Foro
Usuario
Foro
Normas
RSS
Etiquetas
Avatares
Rangos
Eventos
Staff
Entrevistas
Noticias
Caretos
F.A.Q
Subforos Privados
Estadisticas
Estadisticas
Usuarios
OnLine
Actividad
Funciones
Favoritos
P. Inicio
Imprimir
Buscar
Afiliados
¿Tu Web Aquí?
Comunidad ESDLA
Foros DWP
Websmasters Foro
Mundo Deluxe
Photosherox
Descargas-V
Enlázanos

i
Problema al forzar la descarga en PHP
 
Portal · Foros · Zona Webmasters · PHP
Noticias · Buscar · Tags · Imágenes · Usuarios · Fisgona
Autor Mensaje 
SirChokolate
Nuevo Webmaster
Nuevo Webmaster


Mensajes: 4
Desde: 09/Oct/2007
#1 ·
Problema al forzar la descarga en PHP

Bueno mi problema es el siguiente:

Tengo dificultades al efectuar la descarga de archivos de manera forzada, es decir tengo una pagina en cuya estructura hace referencia a archivos para ser descargados de la siguiente manera:
echo "<a href=download.php?file=".base64_encode($archivo)." >".$archivo."</a>";

y la pagina download.php tiene el siguiente codigo

<?php
$id=base64_decode($_GET['file']);
$pathFile="administracion/projects/files";
$enlace = $pathFile."/".$id;
header ("Content-Disposition: attachment; filename=".$id."\n\n");
header ("Content-Type: application/octet-stream");
header ("Content-Length: ".filesize($enlace));
readfile($enlace);
?> 

el probelama es que descarga el archivo en blanco, sin el contenido del mismo, esto para los archivos word.


10/Oct/2007 00:22 GMT+1
SirChokolate
Nuevo Webmaster
Nuevo Webmaster


Mensajes: 4
Desde: 09/Oct/2007
#2 ·
RE: Problema al forzar la descarga en PHP

Creo que encontre el error del script, la razon es:

La línea de cabecera con el status HTTP será siempre la primera en ser enviada al cliente, independientemente de que la llamada a header() correspondiente sea la primera o no. El status puede ser sobrescrito llamando header() con una nueva línea de status en cualquier momento, a menos que las cabeceras HTTP ya hayan sido enviadas.

es decir modifique el script de la pagina download.php  de la siguiente manera:

<?php
header ("Content-Disposition: attachment; filename=".base64_decode($_GET['file'])."\n\n");
header ("Content-Type: application/octet-stream");
header ("Content-Length: ".filesize("administracion/projects/files/".base64_decode($_GET['file'])));
readfile("administracion/projects/files/".base64_decode($_GET['file']));
?> 

y listo, espero les sea de utilidad


10/Oct/2007 17:48 GMT+1
Haz clic para ir al tema anterior Haz clic para ir al tema siguiente
Portal · Foros · Zona Webmasters · PHP
Temas similares
Asunto Autor#VisitasÚltima respuesta
Problema con php y base de datos, al leer una tabla15/Jun/2006, 00:23
rehivaJ
237015/Jun/2006, 15:37
rehivaJ Ir al último mensaje del tema
Necesito activar la opcion de que muestre los errores PHP en mi host30/Sep/2008, 03:51
Liberwolf
520406/Oct/2008, 15:55
Darth_Carl Ir al último mensaje del tema
Problema con variables15/Sep/2008, 15:09
Darth_Carl
212416/Sep/2008, 12:52
Darth_Carl Ir al último mensaje del tema
Como instalar un PHP NUKE?17/Jun/2008, 22:01
Corvo_07
546319/Jun/2008, 01:53
Corvo_07 Ir al último mensaje del tema
Dudas sobre funciones PHP02/May/2008, 18:01
Darth_Carl
217202/May/2008, 22:00
Darth_Carl Ir al último mensaje del tema
Opciones:
Versión imprimible del tema
Subscríbete a este tema
Date de baja de este tema
Ir al subforo:  

TU NO PUEDES Escribir nuevos temas en este foro
TU NO PUEDES Responder a los temas en este foro
TU NO PUEDES Editar tus propios mensajes en este foro
TU NO PUEDES Borrar tus propios mensajes en este foro
Todas las fechas y horas son GMT+1. Ahora son las 01:28

Afiliados Plus
Skindario - Soporte Webmasters, Diseño Grafico, Miarroba, Rol + RPG y Mucho Mas TuarrobaGames - Emuladores, Roms, Juegos y RPG TuarrobaEbooks - Ebooks en castellano y Audiolibros Websmasters foro MundoDeluxe Photosherox - Diseñando & Aprendiendo
¿Tu Web Aquí?
Admin: EffectedCard - Skindario, foro soporte de Tuarroba desde el 16/10/04