웹 사이트에서 파일 다운로드를 계산하는 가장 좋은 방법

StackOverflow https://stackoverflow.com/questions/158124

  •  03-07-2019
  •  | 
  •  

문제

이 질문에 대한 간단하고 간결한 답변을 찾는 것이 얼마나 어려운지 놀랍습니다.

  1. 내 웹 사이트에 파일, foo.zip이 있습니다.
  2. 얼마나 많은 사람들 이이 파일에 액세스했는지 알아 보려면 어떻게해야합니까?
  3. 필요한 경우 Tomcat 호출을 사용할 수 있습니다

업데이트: 스크립트를 작성하는 것이 좋으면 괜찮은 대본을 지적 할 수 있습니까?

도움이 되었습니까?

해결책

또는 실시간에 데이터가 필요하지 않은 경우 로그 파일을 구문 분석 할 수 있습니다.

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

의견에 대한 답변으로 :

로그 파일에는 다운로드 된 바이트가 포함되어 있지만 다른 사람이 지적했듯이 사용자가 클라이언트 측에서 다운로드를 취소하는 경우 올바른 카운트를 반영하지 않을 수 있습니다.

다른 팁

가장 간단한 방법은 파일에 직접 링크하는 대신 카운터를 증가시킨 다음 해당 파일로 전달하는 스크립트에 링크하는 대신에 가장 간단한 방법 일 것입니다.

"가장 간단한 방법은 파일에 직접 연결하는 대신에 가장 간단한 방법이 될 것입니다. 스크립트에 링크를 링크 한 다음 해당 파일로 전달합니다."

이것은 추가입니다 :

$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

여기 count.txt 카운터 정보를 저장하는 간단한 일반 텍스트 파일입니다. 데이터베이스 테이블에 저장할 수 있습니다. downloadable_filename.ext 또한.

로그를 사용하십시오-파일에 대한 각각의 요청은 다른 다운로드입니다 (방문자가 어떤 이유로 든 다운로드를 중지하지 않는 한).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top