counter - verla - google tag manager
La mejor forma de contar las descargas de archivos en un sitio web (4)
Es sorprendente lo difícil que es encontrar una respuesta simple y concisa a esta pregunta:
- Tengo un archivo, foo.zip, en mi sitio web
- ¿Qué puedo hacer para averiguar cuántas personas han accedido a este archivo?
- Podría usar las llamadas de Tomcat si es necesario
Actualización: si sugieres escribir un guión, ¿puedes señalarme uno decente?
La forma más sencilla probablemente sería en lugar de vincular directamente al archivo, vincularlo a un script que incremente un contador y luego lo reenvíe al archivo en cuestión.
O podría analizar el archivo de registro si no necesita los datos en tiempo real.
cat /path/to/access.log | grep foo.zip | grep 200 | wc -l
En respuesta al comentario:
El archivo de registro también contiene bytes descargados, pero como señaló otra persona, es posible que esto no refleje el recuento correcto si un usuario cancela la descarga en el lado del cliente.
Utilice los registros: cada solicitud GET para el archivo es otra descarga (a menos que el visitante detuviera la descarga parcialmente por algún motivo).
Con la respuesta "La forma más simple probablemente sería en lugar de vincular directamente al archivo, vincularlo a un script que incremente un contador y luego lo reenvíe al archivo en cuestión".
Esto es adicional:
$hit_count = @file_get_contents(''count.txt'');
$hit_count++;
@file_put_contents(''count.txt'', $hit_count);
header(''Location: http://www.example.com/download/pics.zip''); // redirect to the real file to be downloaded
Aquí count.txt
es un simple archivo de texto plano que almacena la información del contador. Puede guardarlo en una tabla de base de datos junto con downloadable_filename.ext
también.