Foros del Web » Programando para Internet » PHP »

problemas al forzar la descarga de un archivo

Estas en el tema de problemas al forzar la descarga de un archivo en el foro de PHP en Foros del Web. Hola buneas noches tengo un problema con un archivo y es que a la hora de descargarlo no me busca bien la ruta de ese ...
  #1 (permalink)  
Antiguo 01/10/2008, 21:06
 
Fecha de Ingreso: febrero-2002
Ubicación: Navarra
Mensajes: 701
Antigüedad: 22 años, 2 meses
Puntos: 2
problemas al forzar la descarga de un archivo

Hola buneas noches tengo un problema con un archivo y es que a la hora de descargarlo no me busca bien la ruta de ese archivo, aunque yo le paso a través de un enlace la ruta del archivo, después se descarga mal, el enlace que paso para su descarga es este:

archivos3.php?id=14&f=repo/repo/ingles/MON_city_country_(NI).doc

pero cuando se va a descargar lo que pone es esto, por lo qu eno me reconoce el archivo

repo-repo-ngles-MON_city_country_(NI).doc

Alquien sabe porqué me cambia los / oir -????

Un salduo
__________________
asp, php, .net, adaptandose a las necesidades
  #2 (permalink)  
Antiguo 01/10/2008, 21:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problemas al forzar la descarga de un archivo

si, porque si los deja genera error... ya que simbolizan separadores de carpeta...

y eso significaría que estas asignando una ruta de descarga predefinida, lo cual es imposible... por eso se hace esta conversión...

para solventarlo, pasa el nombre con basename() ... suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 02/10/2008, 01:56
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: problemas al forzar la descarga de un archivo

Hola

no se como subes los archivos ni como es tu codigo pero a si no se fuerza la descarga de un archivo, has de enviar los headers correspondientes, mirate este POST, es una aplicacion para subir archivos a una carpeta del server y almacenar su ruta en una BBDD y despues forzar su descarga
  #4 (permalink)  
Antiguo 02/10/2008, 02:10
 
Fecha de Ingreso: febrero-2002
Ubicación: Navarra
Mensajes: 701
Antigüedad: 22 años, 2 meses
Puntos: 2
Respuesta: problemas al forzar la descarga de un archivo

Hola buenas, gracias por responder, yo hago la descaarga de esta forma, bueno más bien lo intento :

donde &_GET['id'] = repo/repo/ingles/MON_city_country_(NI).doc

$f = $_GET["f"];
$f2 = basename($f);
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"$f2\"\n");
$fp=fopen("$f", "r");
fpassthru($fp);

Vaya liada que me estoy metiendo, voy a ver el post que me comentas.

saludos
__________________
asp, php, .net, adaptandose a las necesidades
  #5 (permalink)  
Antiguo 02/10/2008, 02:21
 
Fecha de Ingreso: febrero-2002
Ubicación: Navarra
Mensajes: 701
Antigüedad: 22 años, 2 meses
Puntos: 2
Respuesta: problemas al forzar la descarga de un archivo

Bueno yo creo que tanto la forma anterior como la tuya de descargar funcionan, está puesto tu código de descarga, el problema que tengo es que cuando me baja el archivo por ejemplo un word me descarga corrupto, la ruta la he comprobado y está bien, y el archivo también está bien, es cuando lo descargo de internet cuando se corrompe o no no se que pasa. Alguna idea?

$ruta = $_GET['f'];
$archivo_arr = explode( "/", $ruta );
$archivo = $archivo_arr[count($archivo_arr) - 1];
//die($ruta);
if( !file_exists( $ruta ) ) {
die( "No existe $ruta" );
}

header( "Content-Disposition: attachment; filename=".$archivo."");
header( "Content-type: application/octet-stream" );

@readfile( $ruta );

Lo que me está descangando es un .doc pero dentro de el no está el doc que debería ser sino el código de la página.

Saludos
__________________
asp, php, .net, adaptandose a las necesidades

Última edición por haven; 02/10/2008 a las 02:31
  #6 (permalink)  
Antiguo 02/10/2008, 02:51
 
Fecha de Ingreso: febrero-2002
Ubicación: Navarra
Mensajes: 701
Antigüedad: 22 años, 2 meses
Puntos: 2
Respuesta: problemas al forzar la descarga de un archivo

acabo de ver que esto solo me pasa con los .doc, los pdf como no pueden ser modificados, me los descarga bien, juer que raro no?
__________________
asp, php, .net, adaptandose a las necesidades
  #7 (permalink)  
Antiguo 02/10/2008, 04:20
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: problemas al forzar la descarga de un archivo

pon el codigo completo a ver que es lo que te pasa
  #8 (permalink)  
Antiguo 02/10/2008, 04:58
 
Fecha de Ingreso: febrero-2002
Ubicación: Navarra
Mensajes: 701
Antigüedad: 22 años, 2 meses
Puntos: 2
Respuesta: problemas al forzar la descarga de un archivo

Hola buenas, pue spor una parte tengo tu parte del código:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>pruebas</title>
<link href="estilos.css" rel="stylesheet" type="text/css" />
<?

if ($_GET["f"]) {

$ruta = $_GET['f'];
$archivo_arr = explode( "/", $ruta );
$archivo = $archivo_arr[count($archivo_arr) - 1];

if( !file_exists( $ruta ) ) {
die( "No existe $ruta" );
}

header( "Content-Disposition: attachment; filename=".$archivo."");
header( "Content-type: application/octet-stream" );

@readfile( $ruta );



}

?>

y por otro la llamada, este y el otro código están en la misma página, te voy a poner solo el enlace con los datos que manda ya que si pongo todo, es algo lioso.

<a href="archivos2.php?opcion=menu&accion=vermenu&sub id=1&idioma=ingles&f=repositorio/repositorio/ingles/MATERIAL_DE_WRITING.doc&idmen=39">material de writing (word)</a></span> (1.09 MB)</div>

Si añado la ruta f a la dirección web me baja el archivo sin problemas, así que problemas con la ruta no hay.

Un saludo
__________________
asp, php, .net, adaptandose a las necesidades
  #9 (permalink)  
Antiguo 02/10/2008, 05:14
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: problemas al forzar la descarga de un archivo

Hola

revisa bien todos tus codes,

con la aplicacion que esta en este foro, aplicacion de centro de descargas, no tengo ningun problema con ningun tipo de archivo, se descargan todos, no sera un problema al subirlos??
  #10 (permalink)  
Antiguo 02/10/2008, 05:19
 
Fecha de Ingreso: febrero-2002
Ubicación: Navarra
Mensajes: 701
Antigüedad: 22 años, 2 meses
Puntos: 2
Respuesta: problemas al forzar la descarga de un archivo

no, no es al subirlos ya que los he descargado via url y funcionan perfectamente, o pensaba que podría ser algo de la codificación de la página pero me da que no, ni idea, voy a probar a poner la descarga en una página nueva a ver que pasa
__________________
asp, php, .net, adaptandose a las necesidades
  #11 (permalink)  
Antiguo 02/10/2008, 05:20
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: problemas al forzar la descarga de un archivo

si, de hecho en mi sistema la descarga es en un archivo aparte

suerte
  #12 (permalink)  
Antiguo 02/10/2008, 05:32
 
Fecha de Ingreso: febrero-2002
Ubicación: Navarra
Mensajes: 701
Antigüedad: 22 años, 2 meses
Puntos: 2
Respuesta: problemas al forzar la descarga de un archivo

pues va a ser lo de poner la descarga en otra página, la leche tantas vueltas al tema y luego era como comentabas en tu ejemplo, pornerlo en una página a parte, en fin, apuntado queda para la próxima.

Gracias y un saludo
__________________
asp, php, .net, adaptandose a las necesidades
  #13 (permalink)  
Antiguo 02/10/2008, 09:41
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problemas al forzar la descarga de un archivo

si descarga un archivo, para que el HTML de arriba???

así no va, suerte!
__________________
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 22:19.