Ver Mensaje Individual
  #5 (permalink)  
Antiguo 07/01/2005, 10:15
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
No sé como tienes estructurada tu BD .. pero en algún sitio debes registrar los nombres de los archivos .. ya sea automáticamente o manualmanete.

Por ejemplo .. puedes hacer algo tipo:
1) .. primero consultar a tu BD si el archivo está registrado ...

Código PHP:
<?
// etc ... conexion a tu BD ..etc ..

// se consulta si existe el "archivo" registrado ..
$sql="SELECT COUNT(*) FROM tabla WHERE archivo='".$_GET['file']."'";
$resultado=mysql_result($sql,0);

if (
$resultado == 0){
   
//Si no está creado .. se crea.
   
$sql="INSERT INTO tabla (id,archivo,descargas) VALUES ('','".$_GET['file']."',1)";
    
msyql_query($sql);
} else {
    
// si existe .. se incrementa ...
    
$sql="UPDATE tabla SET descargas=descargas+1 WHERE archivo='".$_GET['file']."'";
    
mysql_query($sql);
}
?>
Sobre el tema de estar seguro de que la descarga se efectuó completa .. no lo vas a poder saber con seguridad .. PHP ya te he comentado que no tiene control sobre la "transferencia" de los archivos al cliente .. Tendrás que asumir ese riesgo. Usa al menos ese código despues de tus cabeceras HTTP (header() ...) por lo menos si falla por ahí tu script no se contabilizará .. No sé como se comportará con descargas en "pausa" pero tu código no tiene en cuenta la opción "resume" (en las FAQ's hay un ejemplo de descargas con esa opción ... ).

Un saludo,

Última edición por Cluster; 07/01/2005 a las 10:18