Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/01/2002, 14:02
Avatar de chubu
chubu
 
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires
Mensajes: 133
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: contador de descargas

una forma muy facil seria haciendo un script intermedio, llamemoslo "download.php" que reciba como parametro un id o un nombre de archivo a bajar, y que guarde en una base de datos la información necesaria para tu estadistica.

por ejemplo, digamos que el script sownload.php recibe el parametro id que indica el id dentro de la tabla archivos, y debe pasar al navegador el contenido del archivo

<pre>
$q = &quot;select path, filename from archivos where id=$id&quot;;
$res = mysql_query($q);
if(mysql_num_rows($res) &gt; 0)
{
$data = mysql_fetch_array($res);
$file = $data[&quot;path&quot;].&quot;/&quot;.$data[&quot;filename&quot;];
if($arch = fopen($file, &quot;r&quot;))
{
// esto hace que el browser sea incapaz de determinar
// el tipo de archivo, asi abre obligatoriamente el
// cuadro de dialogo para grabar el archivo
header(&quot;Content-Type: unknown/unknown&quot;);
// esto indica el nombre del archivo
header(&quot;Content-Disposition: attachment; filename=&quot;.$data[&quot;filename&quot;]);
fpassthru($arch);
fclose($arch);
$q = &quot;insert into log_download(id,timestamp) values($id,now())&quot;;
mysql_query($q);
}
else
{
// ... aqui informamos que no pudimos abrir el archivo
}
}
else
{
// ... aqui deberiamos informar un error porque no existe ese id en la tabla
}
</pre>

este ejemplo tiene una sola contra, el internet explorer de nuestros amigos de Micro$oft tiene un bug que impide que el browser reciba el nombre correcto del archivo, fuera de eso es util a tu proposito