En este código quiero hacer un contador de descarga. Que al descargar el archivo cuente esa descarga en MySQL y se muestre las cantidad de descargas al lado donde pone PDF.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Descargar Winpic800 PDF XPS
Vaya, alfin esta mas clara tu duda jejeje...
Mira, para que puedas llevar un conteo de las descargas de cada archivo lo puedes manejar de dos maneras, pero en ambas manera es necesario que programes en PHP un poco (bueno, en realidad si es bastantito
), asi que de antemano debes leerte algun buen manual de php(te recomiendo:
www.desarrolloweb.com), y tambien debes tener en cuenta que para crear un conteo de descargas debes utilizar una forma de almacenar el contador, esto puede ser por medio de archivos o por medio de bases de datos (mysql).
Las formas son asi:
FORMA 1 - Usando archivosPrimeramente debes crear una archivo PHP con el cual invocarias la descarga seria algo asi:
descargar.php?file=10, el archivo
descargar.php realizaria la apertura del contador, que seria
micontador.txt, este contador poseera una cadena delimitada por algun simbolo, por ejemplo:
/carpeta/archivo.pdf|1En donde:
/carpeta/archivo.pdf es el nombre del archivo a proporcionar para su descarga.
| es el delimitador.
1 es el numero de descargas hasta el momento.
Despues solo proporcionar el archivo utilizando:
<?php
//"file_id" es el numero de la descarga
$fp= fopen( "micontador.txt", "r" ); $i=0; //contador de ID's
$big_buffer=""; //buffer gigante donde almacenamos todo el archivo
{
if( $i==$_GET["file_id"] ) //si estamos leyendo el ID a descargar
{
$x= explode( "|", $buf ); //explotamos/partimos buffer por el delimitador $big_buffer .= $x[0]; //concatenamos archivo
$big_buffer .= "|"; //concatenamos delimitador
$big_buffer .= ($x[1]+1); //concatenamos aumento +1 del contador
}
else
$big_buffer .= $buf; //concatenamos buffer directo
unset($buf); //limpiamos buffer $i++; //incrementamos
}
fclose($fp); //cerramos archivo unset($fp); //limpiamos fp
$fp_out= fopen( "micontador.txt", "w" ); //abrimos archivo eliminando todo su contenido fwrite($fp_out, $big_buffer); //escribimos el buffer gigante unset($fp_out); //limipiamos fp unset($big_buffer); //limpiamos buffer ?>
Ese script te ayudara para proporcionar la descarga e incrementar el contador
, bueno, es algo rustico y pesado, pero es una buena idea para que vayas entendiendo como se maneja eso
!!...
FORMA 2 - Usando Bases de DatosAqui el proceso es mucho mas simple :d, ya que primeramente debes crearte una tabla en la base de datos con los siguientes campos mas o menos:
create table DESCARGAR( ID bigint not NULL auto_increment, NOMBRE varchar(100) not NULL, URL TEXT not NULL, CONTADOR bigint not NULL, PRIMARY KEY(ID) );
De modo que utilizarias la funcion
mysql_query() para realizar consultas de: insercion, actualizacion, eliminacion y busqueda... Todo eso te permitira manipular tus descargas, aumentar contadores, eliminar descargas, etc, etc...
El proceso genera menos codificacion (por parte de nosotros los que codeamos), es mas accesible evitar que visualizen las carpetas donde estan almacenados los archivos, etc, etc..
Claro, si estas realizandote un sistema de descargas, pues la cosa se simplifica aun mas
... jojojo, pero bueno, con lo que te he escrito te sobra y basta para empezar a ponerte a trabjas !!
bye bye