Contador de Descargas
En este tutorial hacemos un sencillo contador de descargas, que servirá para saber cuantas veces fue descargado un archivo de tu web.
Para este pequeño sistema utilizaremos los siguientes archivos:
Debes crear una carpeta que se llame descargas y SOLO ahí subir los archivos que quieres descargar. Además, debes crear un archivo .txt para cada archivo que se pueda bajar que en el contenido sea "0" (cero) y tenga 777 los permisos CHMOD. Es decir, si yo quiero que la gente pueda bajar un archivo que se llama primero.zip, lo tengo que subir en la carpeta descargas, y crear un archivo que sea primero.txt y subirlo en la misma carpeta con los permisos 777.
Ahora vamos a ver los archivos .php que tienen que estar subidos en un nivel superior a la carpeta descargas, es decir, arriba.
descargas.php:
El archivo descargas.php será aquel en el que tu describirás los diferentes archivos que los visitantes pueden descargar. Ahí tu puedes poner screenshots, etc. Lo único que tienes que hacer es poner el link para las descargas de esta manera:
| Código: |
| <a href="ver.php?id=primero&ext=zip">Descargar</a> |
En la variable ID definimos el nombre del archivo, que en mi caso se llama primero. En ext ponemos la extensión del archivo, que aquí es zip, pero puede ser desde doc hasta mp3. También, si quieres poner las veces que fue descargado el archivo incluye lo siguiente:
| Código: |
| El archivo fue bajado <? include("descargas/primero.txt"); ?> veces |
ver.php
| Código: |
| <? @$idu = $_GET["id"]; @ext = $_GET["ext"]; $archivo = descargas/$idu.txt; $r = "r"; $fp = fopen($archivo, $r); $contenido = fgets($fp); fclose($fp); $id = $contenido + 1; $r = "w"; $fp = fopen($archivo, $r); fwrite($fp, $id); fclose($fp); <b><? echo $idu; ?>.<? echo $ext ?></b> <p align=center>Si en 3 segundos no comenzó la descarga del archivo clickea <a href="descargas/<? echo $idu ?>.<? echo $ext ?>"> aquí.</a> <HEAD><meta http-equiv="refresh" content="3;URL=descargas/<? echo $idu; ?>.<? echo $ext ?>"></HEAD> ?> |
Aquí lo que hacemos es recibir las variables del nombre de archivo. El nombre de archivo estará compuesto por $idu.$ext. Lo que hacemos después es ver las veces que fue descargado un archivo (lo chequeamos en $idu.txt), le subimos uno y lo guardamos en $idu.txt otra vez.
Finalmente, hacemos que a los 3 segundos de estar en la página web nos rediriga a la url del archivo que queremos descargar, y le ponemos un link por si no funciona el redireccionamiento.
ˇEspero que les haya servido!