Contar descargas de un archivo
Una consulta me ha hecho desempolvar un viejo script que tenía por ahí para contar los clicks que se hacían para ir a una url. Esto es igualmente válido para hacer tracking de downloads o descargas.
Supongamos en el script es invocado de la forna:
http://url_dominio/download.php?file=xxxxx.pdf
El script, que estaba escrito en php3, es a grandes rasgos así:
<?php
//RECUPERAMOS PARAMETRO
$url=$_GET[file]
// CONEXION BBDD
mysql_connect (“localhost”, “xxxxlogin”, “xxxpasss”);
mysql_select_db (“xxxxxxx”);// INSERTAR O HACER UN UPDATE EN BBDD CON LA DESCARGA. TAMBIEN PODRIA IR A UN FICHERO LOG
mysql_query(“INSERT INTO log_table VALUES (XXXXXXXXXXX)”);
//CONSTRUIR URL FINAL
$url=”http://url_dominio”.$url;
//REDIRIGIR AL ARCHIVO CON DESCARGA
header(“Location: $url”);
?>
Importante no sacar nada, ni un error, ni un print, ni un echo, nada, antes de la directiva header(). Si sale algo, la redirección no se ejecutará.
Otra opción a la que podemos optar ahora es a utilizar una herramienta externa, como Google Analytics. De esta forma que no tenemos que hacer una tabla en la base de datos, construir el script y procesar los datos almacenados posteriormente. Hay un tutorial de Analytics que lo explica bastante bien.