Foros del Web » Programando para Internet » PHP »

Problema con forzar descarga.

Estas en el tema de Problema con forzar descarga. en el foro de PHP en Foros del Web. Tengo un script que fuerza la descarga de un archivo, pero tengo problemas con el nombre del archivo. Es decir, el nombre que quiero que ...
  #1 (permalink)  
Antiguo 26/08/2008, 03:57
 
Fecha de Ingreso: abril-2006
Mensajes: 7
Antigüedad: 18 años
Puntos: 0
Exclamación Problema con forzar descarga.

Tengo un script que fuerza la descarga de un archivo, pero tengo problemas con el nombre del archivo.
Es decir, el nombre que quiero que se le asigne para descargar... Por ejemplo

header("Content-Disposition: attachment; filename=\"$nombre\"\n");

En el cual $nombre es igual a por ejemplo "1. Artista - Título (www.miweb.com).mp3"
Pero en vez de descargarlo así, en este casi, se asignaría el nombre de "1."...
Si utilizo la función urlencode(), me mejora un poco, pero me salen los %, lo probé porque creí que así interpretaría bien...

Alguien sabe cómo podría hacerlo para que me asignara bien el nombre al archivo?
  #2 (permalink)  
Antiguo 26/08/2008, 08:18
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con forzar descarga.

gracias por tu inquietud, acabo de probar lo que dices... y en mi entorno si descarga con el nombre completo... tal cual

el otro detalle, puede ser... que estés usando un \n salto de linea .... y créeme, no debe ir nada de eso en los headers

mira, te paso la función con la cual hago la descarga.... haber si te soluciona en algo

Código PHP:
// Estos datos deben ser reales... tu ya sabes como
$name '1. Artista - Título (www.miweb.com).mp3';
$data file_get_contents('original.dat');
$lengthfilesize('original.dat');

// ------------------- Cabeceras
header(sprintf('content-disposition: attachment; filename="%s"'$name));
header(sprintf('content-length: %d'$length));
header(sprintf('content-type: %s'$mime));

header('content-transfer-encoding: binary');
header('pragma: no-cache');
header('expires: 0'); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 07:40.