<script type="text/javascript">
//*****************增加浏览量******************
$(document).ready(function(){
var url= PREFIX_URL + 'scenePv';
var tmp="<?php echo $confinfo2['sceneid'];?>";
var sceneUrl=window.location.href;
$.ajax({
type:"POST",
cache:false,
url:url,
data:{"sceneid":tmp,"sceneURL":sceneUrl},
success:function(data){},
dataType:"json"
});
}); //
</script>
//直接添加
public function addHits(){
$sceneid=$_POST['sceneid'];
if(!empty($sceneid)){
$db=M('hits','cj_','mysql://root:root@localhost/cntv_scene_extends');
$where['scene_id']=$sceneid;
$result=$db->where($where)->find();
if($result){
$data['hits']=(int)$result['hits']+1;
$db->where($where)->save($data);
echo json_encode(array("success" => true,
"code"=> 200,
"msg" => "success"
)
);
}else{
$data['scene_id']=$sceneid;
$data['hits']=1;
$db->add($data);
echo json_encode(array("success" => true,
"code"=> 200,
"msg" => "success"
)
);
}
}
}
//**************定时从TXT插入数据库
public function timer(){
ignore_user_abort();//关闭浏览器仍然执行
set_time_limit(0);//让程序一直执行下去
$interval=60*5;
$db=M('hits','cj_','mysql://root:root@localhost/cntv_scene_extends');
$filename =$_SERVER['DOCUMENT_ROOT']."/scenePV.txt";
do{
$str=file_get_contents($filename);
$arr=explode('!',$str);
foreach($arr as $v){
$arr=explode(',',$v);
$data=array();
$data['scene_id']=$arr[0];
$data['user_ip']=$arr[1];
$data['add_time']=$arr[2];
$result=$db->add($data);
}
if($result){
file_put_contents($filename,"");
}
sleep($interval);
}while(true);
}
//*************txt做中转 添加浏览量*************
public function scenePv(){
$sceneid=$_POST['sceneid'];
$sceneURL=$_POST['sceneURL'];
if(!empty($sceneid)){
//********取出频道名称 场景埋码
$sceneDB=D('scene');
$sql="select a.mcode,b.name from cj_scene a inner join cj_channel b on a.scenetype_int=b.id where a.sceneid_bigint=$sceneid";
$result=$sceneDB->query($sql);
$channel=$result[0]['name'];
$mcode=$result[0]['mcode'];
$time=time();
$fileName =$_SERVER['DOCUMENT_ROOT']."/scenePV.txt";
$data=$sceneid.",".$sceneURL.",".$channel.",".$mcode.",".$time."。\n";
//******文件加锁设置超时时间
if ($fp = fopen ( $fileName, 'a' )) {
$startTime = microtime();//毫秒
do {
$canWrite = flock ( $fp, LOCK_EX );
if (! $canWrite)
usleep ( round ( rand ( 0, 100 ) * 1000 ) );
} while ( (! $canWrite) && ((microtime() - $startTime) < 1000) );
if ($canWrite) {
fwrite ( $fp, $data);
flock($fp,LOCK_UN);
}
fclose ($fp);
}
}
$db=M('hits','cj_','mysql://root:root@localhost/cntv_scene_extends');
$fileName =$_SERVER['DOCUMENT_ROOT']."/scenePV.txt";
$contents = file_get_contents($fileName);
if($contents){
$arr=explode("。",$contents);
foreach($arr as $v){
$arr=explode(',',$v);
$data=array();
$data['scene_id']=$arr[0];
$data['scene_url']=$arr[1];
$data['channel']=$arr[2];
$data['mcode']=$arr[3];
$data['add_time']=$arr[4];
$result=$db->add($data);
}
if($result){
file_put_contents($fileName,"");
}
}
}