Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/04/2014, 14:12
daviss
 
Fecha de Ingreso: agosto-2010
Mensajes: 59
Antigüedad: 13 años, 8 meses
Puntos: 2
Respuesta: header() descarga el archivo dañado

Estuve probando con hasta tres path's:
Código PHP:
$file_url='http://pagina.com/sonidos/carpeta-8algo/Otros/them%2019.ca/The Sugar.msa';
header('Location: '.$file_url); 

$file_url='http://pagina.com/sonidos/carpeta-8algo/Otros/them%2019.ca/The%20Sugar.msa';
header('Location: '.$file_url); 

$file_url='http://pagina.com/sonidos/carpeta-8algo/Otros/them 19.ca/The%20Sugar.msa';
header('Location: '.$file_url); 
Cada uno de estos tres pares por separado solo reproducen mas no descargan, estos tres path's también los probé en el siguiente código:

Código PHP:
$basename basename($file_url);
    
$length   sprintf("%u"filesize($file_url));

    
header('Content-Description: File Transfer');
    
header('Content-Type: application/octet-stream');
    
header('Content-Disposition: attachment; filename="' $basename '"');
    
header('Content-Transfer-Encoding: binary');
    
header('Connection: Keep-Alive');
    
header('Expires: 0');
    
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    
header('Pragma: public');
    
header('Content-Length: ' $length);

    
set_time_limit(0);
    
readfile($file_url); 
Los resultados son:
Código PHP:
header('Location: http://pagina.com/sonidos/carpeta-8algo/Otros/them%2019.ca/The Sugar.msa'); 
//Descarga el archivo de tamaño 5k
header('Location: http://pagina.com/sonidos/carpeta-8algo/Otros/them%2019.ca/The%20Sugar.msa'); 
//Descarga el archivo de tamaño 0k
header('Location: http://pagina.com/sonidos/carpeta-8algo/Otros/them 19.ca/The%20Sugar.msa'); 
//Descarga el archivo de tamaño 5k 
Conclusion: Si reproduce es porque el link esta correcto, pero al descargar esta dañado.