2010-04-13 2 views
2

어제 나는 비디오 시청을 제공하는 하나의 사이트를 마쳤습니다. 하지만 지금은 각 영화의 수는입니다. 그런 일은 결코 쓴 적이 없으므로 어떻게해야할지 모르겠다.조회수 계산 방법은 무엇입니까?


아마 하나의 필드를 mysql 데이터베이스에 추가하고 비디오가 열릴 때마다 늘려야합니까? 하지만 플래시 플레이어를 사용하고 플레이어의 스크립트 onclick을 작성할 수 없습니다. 내 생각을 좀 해줄 수 있겠습니까? 감사합니다.

답변

2

가장 좋은 방법은 웹 서버 로그를 구문 분석하고 Flash에서 비디오 스트림을 요청할 때 (야간에 cron 작업)를 찾는 것입니다. 기존의 Flash 비디오 플레이어를 사용하고있는 것으로 추측됩니다. Flash를 수정하여 PLAY를 클릭 할 때 재생 횟수를 업데이트하라는 서버 요청을 푸시 할 수 없거나 전환 할 수 있으므로 권장하지 않습니다. 다른 플레이어 또는 HTML5 스트리밍으로 전송할 수 있습니다.

으로는 이미 (NO 추가, 검색해야하고 업데이트)

UPDATE video SET view_count = view_count + 1 
하나의 단계에서 그것을 할 수 있습니다, 나 또한 동의, 그냥 당신의 "비디오"테이블에 "VIEW_COUNT"추가 증가 제안

동영상 페이지를로드 할 때 동영상 수를 높이는 경우 조회수의 절반 이상이 검색 봇이 될 수 있으므로 검색 봇 (예 : Google)에서 페이지 조회수를 제외해야합니다. 검색 봇 브라우저 문자열 목록을 찾을 수 있으므로 here을 찾으십시오.

+0

@TravisO 나는 id_video 및 ip_user를 사용하여 새 테이블을 만들어야한다고 생각합니다. 그렇지 않으면 한 클라이언트가 여러 번 그 테이블을 늘릴 수 있습니다. . "브라우저 버전 태그를보고 검색 봇 결과를 제외 시키십시오"부분을 다시 작성할 수 있습니까? 그게 무엇인지 이해하지 못하는 이유는 무엇입니까?덕분에 – Simon

+0

다시 작성. 그리고 더 신뢰할 수있는 비디오 카운트를 원할 경우 각 뷰를 기록하는 전용 테이블을 사용하는 것이 좋습니다. 특정 테이블을 제외 할 수 있으므로 뷰어 등을 반복 할 수 있습니다. – TravisO

1

video_views 등의 테이블을 만들고 싶습니다.보고있는 비디오의 ID가 포함되어 있습니다. 그런 다음 Flash의 ExternalInterface 기능을 사용하여 JavaScript 함수를 호출하면 ajax를 통해 원격 URL을 방문하여 video_views에 새 레코드를 추가합니다.

저는 과거에이 작업을 몇 번 해봤지만 항상 효과적이었습니다. 동영상 표에 view_count 값을 유지하고 동영상을 볼 때마다 값을 증가시킬 수도 있습니다.

[편집] 각 레코드에 타임 스탬프를 추가하고 피크 트래픽 시간 같은 것들에 더 통찰력을 얻을 수있는 능력이 될 것입니다 각각의보기를 추적 찬성

한 인수입니다.

+0

@inkedmn 당신의 ExternalInterface의 사용에 대한 몇 가지 링크를 제공 coul'd? – Simon

+2

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/external/ExternalInterface.html – inkedmn

0

그것에 대해 이동하는 또 다른 방법은 실시간 통계를 허용 할

같은

CustomLog |/var/www/view_count.php common

이 같은 때 CustomLog 지시어를 사용하여 스크립트를 실시간을 통해 웹 (아파치) 로그를 전달하는 것입니다. 확실하지 않은 경우 그 또는 필요합니다.

0

아래와 같이 가져 오기 :

$viewd=$results['viewd']; 
    $viewd+=1; 
    mysql_query("update user set viewd = '$viewd' where id='1'"); 
관련 문제