플래시 플레이어에서 mp3를 재생하는 웹 사이트가 있습니다. 사용자가 ‘재생’을 클릭하면 플래시 플레이어가 자동으로 mp3를 다운로드하고 재생을 시작합니다.
특정 노래 클립 (또는 바이너리 파일)이 다운로드 된 횟수를 쉽게 추적 할 수있는 방법이 있습니까?
재생 링크가 실제 mp3 파일 또는 플레이어를 표시하는 일부 자바 스크립트 코드에 대한 링크입니까?
후자의 경우, 거기에 자신의 로깅 코드를 쉽게 추가하여 히트 수를 추적 할 수 있습니다.
전자의 경우 웹 서버 로그 자체를 추적하고 구별 할 수있는 무언가가 필요합니다. 내 호스팅 계획은 Webalizer와 함께 제공됩니다.
그것은 자바 스크립트 코드이므로 대답합니다.
그러나 다른 방법을 사용하여 (호스트를 전환하지 않고) 다운로드를 추적하는 방법을 아는 것이 좋습니다.
답변
재미있는 점은 2 일 전에 모든 음악에 대한 PHP 미디어 갤러리를 썼다는 것입니다. 비슷한 문제가있었습니다. 플레이어에 http://musicplayer.sourceforge.net/ 을 사용하고 있습니다 . 그리고 재생 목록은 php를 통해 작성됩니다. 모든 음악 요청은 xfer.php? file = WHATEVER라는 스크립트로 이동합니다.
$filename = base64_url_decode($_REQUEST['file']);
header("Cache-Control: public");
header('Content-disposition: attachment; filename='.basename($filename));
header("Content-Transfer-Encoding: binary");
header('Content-Length: '. filesize($filename));
// Put either file counting code here, either a db or static files
//
readfile($filename); //and spit the user the file
function base64_url_decode($input) {
return base64_decode(strtr($input, '-_,', '+/='));
}
그리고 파일을 호출 할 때 다음과 같은 것을 사용합니다.
function base64_url_encode($input) {
return strtr(base64_encode($input), '+/=', '-_,');
}
http://us.php.net/manual/en/function.base64-encode.php
mp3 파일의 실제 링크가 필요한 JavaScript 또는 플래시 플레이어 (예 : JW 플레이어)를 사용하는 경우 “& type = .mp3″텍스트를 추가하여 최종 링크가 “www. example.com/xfer.php?file=34842ffjfjxfh&type=.mp3 ” 이렇게하면 파일 링크에 영향을주지 않고 mp3 확장자로 끝나는 것처럼 보입니다.
답변
httpd 로그 파일을 사용하십시오. http://awstats.sourceforge.net/ 설치
답변
bash 사용 :
grep mp3 /var/log/httpd/access_log | wc
답변
노래 / 바이너리 파일이 Apache에서 제공되는 경우 access_log를 쉽게 grep하여 다운로드 횟수를 확인할 수 있습니다. 간단한 post-logrotate 스크립트는 로그를 grep하고 db에서 카운트 통계를 유지할 수 있습니다. 이것은 라이브 요청 코드 경로에 있지 않기 때문에 성능상의 이점이 있습니다. 오프라인에서 통계와 같이 중요하지 않은 작업을 수행하는 것은 웹 사이트를 많은 사용자로 확장하는 것이 좋습니다.
답변
* .mp3 요청을 dubayou가 작업중인 쿼리 문자열로 변환하는 Apache .htaccess 지시문을 설정할 수도 있습니다. 직접 요청을 유지하면서 로그 기능을 응답에 포함시킬 수있는 우아한 방법 일 수 있습니다.
답변
재생 링크가 실제 mp3 파일 또는 플레이어를 표시하는 일부 자바 스크립트 코드에 대한 링크입니까?
후자의 경우, 거기에 자신의 로깅 코드를 쉽게 추가하여 히트 수를 추적 할 수 있습니다.
전자의 경우 웹 서버 로그 자체를 추적하고 구별 할 수있는 무언가가 필요합니다. 내 호스팅 계획에는 webalizer가 포함되어 있습니다.
답변
음악 라이브러리에 대한 데이터베이스가 있습니까? mp3를 다운로드 할 때 실행되는 서버 코드가 있으면 여기에 추가 코드를 추가하여 재생 횟수를 늘릴 수 있습니다. 자바 스크립트가 재생 횟수를 늘리기 위해 두 번째 요청을 할 수도 있지만 이로 인해 사람 / 로봇이 잘못 횟수를 늘릴 수 있습니다.
나는 인터넷 라디오 사이트에서 일했고 우리는 모든 노래가 재생 된 시간을 추적하기 위해 별도의 테이블을 사용했습니다. 우리의 스트림은 icecast를 실행하는 perl 스크립트로 구동되었으므로 새 트랙이 재생되기 시작할 때마다 데이터베이스 요청을 트리거했습니다. 그런 다음 재생 횟수를 계산하기 위해 노래의 ID가 재생 로그에 몇 번 있는지 계산하는 쿼리를 실행합니다.