Foros del Web » Programando para Internet » PHP »

Controlar descarga finalizada

Estas en el tema de Controlar descarga finalizada en el foro de PHP en Foros del Web. Tengo el siguiente codigo, el cual es para descargar un archivo y el if supuestamente es para controlar si la descarga se ha completado o ...
  #1 (permalink)  
Antiguo 16/04/2007, 05:35
 
Fecha de Ingreso: marzo-2007
Mensajes: 113
Antigüedad: 17 años, 2 meses
Puntos: 0
Controlar descarga finalizada

Tengo el siguiente codigo, el cual es para descargar un archivo y el if supuestamente es para controlar si la descarga se ha completado o se ha cancelado, si se ha completado con exito deberia entrar en el if y ejecutar el codigo del if, pero el caso es que se complete la descarga entera o se cancele la descarga entra en el if y ejecuta el codigo. Sabeis en que me estoy equivocando ??


Código PHP:
header("Content-Type: application/octet-stream");
     
header("Content-Length: ".filesize($enlace));
     
header("Content-Disposition: attachment; filename=".$f."\n");
     if(
readfile($enlace))
     {     
       
       
$conexion mysql_connect("localhost""root""vfooter23")
        or die(
"Error. No se ha podido establecer la conexión con la base de datos");

         
mysql_select_db("cuentas2102"$conexion)
    or die(
"Error. No se ha podido conectar a la base de datos especificada");
 
         
$cadenaSQL "update users set estado = '0' where login <> '$usuario' and estado <> '2' and estado <> '3' ";

        
$resultado mysql_query($cadenaSQL$conexion)
    or die(
"Error en la consulta de usuario_mod");        

        
mysql_close($conexion);

 
     } 
  #2 (permalink)  
Antiguo 20/07/2007, 22:02
axz
 
Fecha de Ingreso: mayo-2005
Mensajes: 360
Antigüedad: 19 años
Puntos: 10
Re: Controlar descarga finalizada

... el detalle es que readfile lee el contenido del archivo, pero eso es para ponerlo en algún búfer de salida (en tu caso el caché de la máquina de quien intente descargar el archivo), en cuanto el archivo se lee en su totalidad, puede empezar a descargarse a la máquina del cliente y es cuando se muestra el cuadro de texto para descargar el archivo.

Por lo tanto, como te está ocurriendo, siempre que el archivo pueda ser leído (por ejemplo tenga los permisos adecuados o no esté abierto en algunos casos) la condición será verdadera y procesará tu código de actualización a la DB.

Hasta donde yo sé, no hay forma de saber si el archivo fué descargado o se canceló la descarga ...

Saludos y suerte
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:51.