Foros del Web » Programando para Internet » PHP »

Problemas para forzar descarga

Estas en el tema de Problemas para forzar descarga en el foro de PHP en Foros del Web. Quiero poner el siguiente código para que los usuarios puedan bajar archivos de fotos desde mi sitio Las imágenes bajan, pero, no son reconocidas como ...
  #1 (permalink)  
Antiguo 03/09/2012, 17:15
Avatar de lyoung  
Fecha de Ingreso: noviembre-2005
Ubicación: Montevideo, la gran capit
Mensajes: 139
Antigüedad: 18 años, 5 meses
Puntos: 0
Problemas para forzar descarga

Quiero poner el siguiente código para que los usuarios puedan bajar archivos de fotos desde mi sitio
Las imágenes bajan, pero, no son reconocidas como tales.
Al abrirlas con photoshop me dice que son corruptos pero los muestra bien.

alguna idea de porqé está pasando esto?
Gracias

Código PHP:
$ar='eventos/'.$_GET['ruta'].$_GET['foto'];
$separar=explode('.',$ar);//separamos  desde el punto 
$extencion=$separar[1];//creamos  Variable que contenga despues del punto 
$extenciones_permitidas=array('jpg','jpeg','gif','png');//Creamos un array con las extenciones  que queremos que baje(se pueden añadir mas)
if (in_array($extencion,$extenciones_permitidas)) {//Si la extencion es permitida  continuamos 

if(file_exists($ar)){//Si el  archivo existe continuamos 
$filepath = ($ar);//Creamos  variable con nombre del archivo 
echo $filepath;
header("HTTP/1.1 200 OK");//testeamos  cabecera 
header("Status: 200 OK"); //testeamos   cabecera 
header('Content-Type: image/jpg');//testeamos   cabecera 
header('Content-Disposition: attachment; filename="'.$_GET['foto'].'"'); //testeamos  cabecera 
header('Content-Length: '.filesize($filepath));//testeamos  cabecera 
readfile($filepath);//Descargamos  mediante readfile 
}else{//Si no existe 
echo"El archivo: ".$ar." No existe";//Lo  decimos 

} else {
//Si la extencion no se  puede descargar 
echo"El archivo: ".$ar." No Puede ser descargado";//Lo  decimos 


/*Codigo por http://dedydamy.com/ */ 
__________________
Todo se ve mejor si le miramos el lado positivo.
  #2 (permalink)  
Antiguo 03/09/2012, 19:21
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problemas para forzar descarga

A simple vista, tienes un error de lógica:

$extensiones_permitidas tienes jpg, jpeg, gif y png, pero el encabezado de contenido siempre estarás enviando image/jpg

Ahora, si tienes espacios, salto de línea o cualquier otro caracter antes o después de enviar el archivo, se agregarán al mismo y te marcará error al intentar abrirlo.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 04/09/2012, 00:48
Avatar de lyoung  
Fecha de Ingreso: noviembre-2005
Ubicación: Montevideo, la gran capit
Mensajes: 139
Antigüedad: 18 años, 5 meses
Puntos: 0
Respuesta: Problemas para forzar descarga

Cita:
Iniciado por Triby Ver Mensaje
Ahora, si tienes espacios, salto de línea o cualquier otro caracter antes o después de enviar el archivo, se agregarán al mismo y te marcará error al intentar abrirlo.
Con esto te refieres a que queda un caracter dentro el archivo y por eso genera un archivo corrupto?
Pues tendré que revisarlo.
Vere esto y ya les contaré.
Gracias
__________________
Todo se ve mejor si le miramos el lado positivo.

Etiquetas: variables, usuarios
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 03:34.