Pergunta

É surpreendente como é difícil encontrar um simples, resposta concisa a esta pergunta:

  1. Eu tenho um arquivo, foo.zip, no meu site
  2. O que posso fazer para descobrir quantas pessoas acessaram este arquivo?
  3. Eu poderia usar chamadas Tomcat, se necessário

Update:? Se você sugere escrever um script, você pode apontar-me a um decente

Foi útil?

Solução

Ou você poderia analisar o arquivo de log, se você não precisa os dados em tempo real.

cat /path/to/access.log | grep foo.zip | grep 200 | wc -l

Em resposta ao comentário:

O arquivo de log também contém bytes baixados, mas como alguém referiu, isso pode não refletir a contagem correta se um usuário cancela o download no lado do cliente.

Outras dicas

A maneira mais simples seria provavelmente em vez de ligar diretamente para o arquivo, link para um script que incrementa um contador e, em seguida, encaminha para o arquivo em questão.

Com a resposta "A maneira mais simples seria provavelmente em vez de ligar diretamente para o arquivo, link para um script que incrementa um contador e, em seguida, encaminha para o arquivo em questão."

Esta é 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

Aqui count.txt é um arquivo simples de texto, armazenar as informações de contador. Você pode salvá-lo em uma tabela de banco de dados, juntamente com downloadable_filename.ext também.

Use os logs -. Cada pedido GET para o arquivo é outro download (a menos que o visitante parou a parcialmente download através, por alguma razão)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top