Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/05/2005, 02:33
Avatar de Batusai
Batusai
 
Fecha de Ingreso: enero-2005
Ubicación: Málaga -Andalucía- España
Mensajes: 130
Antigüedad: 19 años, 3 meses
Puntos: 1
Información Duda existencial sobre contador de descargas

Hola,

He usado en mi web un script de contador de descargas que creo conseguí en esta web, aunque no estoy seguro. El caso es que me da la sensación que algo hago mal. El script me funciona pero sólo lo aplico a un fichero. Me da la sensación de que si añado otro archivo usaría el mismo archivo donde se acumulan los "hits", y por lo tanto no podría distinguir entre las veces que se descargó el fichero1 y cuántas el fichero2.
Os pego el código para que lo mireis y quizá os sirva para entenderlo, porque como adivinareis yo de PHP aún sé muy poco, por no decir casi nada.

Creamos un archivo que podemos llamar: descargas.php
Abrimos ese archivo con el bloc de notas y pegamos:
Código:
<?
$extension = ".zip"; // EXTENSIÓN DE ARCHIVOS

if (file_exists("$archivo$extension")) {
header("location: $archivo$extension");
$file = fopen("contador/$contando.txt","r"); // archivo contador de descargas
$count = fread($file, 100);
$countplus = ($count + 1);
fclose($file);
$fileb = fopen("contando.txt","w");
fwrite($fileb, $countplus, 100);
fclose($fileb);
}

else { echo "El archivo <b>$archivo$extension</b> no existe. Notifíquelo al webmaster. Gracias"; }

?>
la última parte es para mostrar un mensaje si el archivo no existe, o hacer una página de error. Al archivo se le llama descargas.php?archivo=nombredelarchivo (sólo el nombre. La extensión no se pone porque haría que fallara el script) y se le da CHMOD 666 al archivo contando.txt. En el ejemplo que puse el txt está en el directorio contador y el fichero descargas.php en el mismo directorio donde tengo los archivos a descargar (esto último es imprescindible).

para la descarga:

Código:
<a href="../descargas.php?archivo=nombredelarchivo">Nombre del Archivo</a>
y para mostrar las veces descargadas sólo se requiere poner un include en donde quieras que se muestre el número de descargas realizadas:

Código:
Descargado <? include("../contador/contando.txt");?> veces
así saldría:

Archivo Descargado x veces

Ten en cuenta que todos los archivos deberán estar en la misma carpeta que este archivo, por lo cual te recomiendo que crees una carpeta para tus descargas.

Para llamar a tus descargas tendrás que hacerlo así:
http://www.tuweb.algo/descargas.php?...vo_a_descargar




Bien. Ese era el artículo entero, ligeramente modificado por mí. Como digo el script me funciona, pero ¿cómo consigo que diferencie en contando.txt las veces descargadas un archivo y las descargada cualquier otro? ¿tendría que crear un archivo .txt y otro descargas.php renombrado para cada descarga nueva?

Saludos.


Batusai