Foros del Web » Programando para Internet » PHP »

contador de descargas

Estas en el tema de contador de descargas en el foro de PHP en Foros del Web. Hola, tengo una pagina de descargas, y realmente me gustaria controlar cual es el tipo de descarga favorita por mis visitantes, y quisiera saber si ...
  #1 (permalink)  
Antiguo 29/01/2002, 17:31
 
Fecha de Ingreso: enero-2002
Mensajes: 71
Antigüedad: 22 años, 2 meses
Puntos: 0
contador de descargas

Hola, tengo una pagina de descargas, y realmente me gustaria controlar cual es el tipo de descarga favorita por mis visitantes, y quisiera saber si hay alguna forma facil de colocar un contador para contabilizar las veces que descargan cada archivo, y asi poder poner un ranking de descargas y todo eso.

Un saludo.
  #2 (permalink)  
Antiguo 30/01/2002, 13:44
 
Fecha de Ingreso: enero-2002
Mensajes: 71
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: contador de descargas

Por favor, que alguien me ayude. Que esto de no saber las veces que descargan desde mi web es un pu.. eso vamos.
  #3 (permalink)  
Antiguo 30/01/2002, 13:53
 
Fecha de Ingreso: diciembre-2001
Mensajes: 164
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: contador de descargas

www.cutandpastescripts.com, ahí hay un contador de visitas de texto, lo incluyes y a mirar cuanta gente lo visita, lo que se es en asp pero no en php, por esto te digo esta web.

<IFRAME marginWidth=0 marginHeight=0 src="http://www.iraultza.com/castroweb/firma.htm" frameBorder=0 noResize width=450 scrolling=no height=55></IFRAME>
  #4 (permalink)  
Antiguo 30/01/2002, 14:02
Avatar de chubu  
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires
Mensajes: 133
Antigüedad: 22 años, 1 mes
Puntos: 0
Re: contador de descargas

una forma muy facil seria haciendo un script intermedio, llamemoslo &quot;download.php&quot; 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
  #5 (permalink)  
Antiguo 30/01/2002, 17:44
 
Fecha de Ingreso: enero-2002
Mensajes: 71
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: contador de descargas

Gracias, voy a probar :)
  #6 (permalink)  
Antiguo 01/02/2002, 14:39
 
Fecha de Ingreso: febrero-2002
Mensajes: 27
Antigüedad: 22 años, 1 mes
Puntos: 1
Re: contador de descargas

Otra posibilidad con ficheros de texto. Le pasas a esta función la referencia de la descarga. Yo convierto antes la referencia de la descarga a un formato de fichero que me gusta más. Te pongo las dos funciones.

Fijate que tendrás un directorio con una fichero por cada descarga, y este fichero contendrá el número de acessos.

------------------------------
function unifica_ref($ref)
{
$min=7;
$max=strlen($ref);
$aux=substr($ref,$min,$max);
for($i=0;isset($aux[$i]);$i++)
{
if ( ($aux[$i] != &quot;.&quot;) and ($aux[$i] != &quot;/&quot;) and ($aux[$i] != &quot;~&quot;) )
{
$ret .= $aux[$i];
}
}
return ($ret);
}
------------------------------
function nuevo_acceso($ref)
{
global $directorio_logs_descargas;

# Tras pulsar sobre la descarga incrementamos el numero de accesos
# Con el nombre de la referencia tenemos el fichero en $directorio_logs_descargas

$ref = unifica_ref($ref);
$ficherodatos = $directorio_logs_descargas.$ref;

if (is_file($ficherodatos))
{
$datos = file($ficherodatos);
$accesos = $datos[0]+1;
}
else
{
$accesos = 1;
}

# Guardamos los nuevos accesos
$fp = fopen($ficherodatos, &quot;w&quot;);
fputs($fp, $accesos);
fclose($fp);
}
--------------------
  #7 (permalink)  
Antiguo 02/02/2002, 04:46
 
Fecha de Ingreso: enero-2002
Mensajes: 71
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: contador de descargas

mis conocimientos de php son muy pocos,y la verdad es que no me he aclarado mucho, pero gracias de todas formas.
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 21:57.