[PHP] 纯文本查看 复制代码
<?php
/**
* 广告点击量计数
* Copyright © 度仙门 玄元一墨
* [url=https://www.duxianmen.com/]https://www.duxianmen.com/[/url]
*/
class ad_core
{
/**
* 检测广告是否存在
*/
public function det_ad($ad_name){
if(file_exists('ad/'.$ad_name.'.json')){
return true;
}else{
return false;
}
}
/**
* 检测广告次数json文件是否存在,不存在就新建它
*/
public function det_ad_time_files($ad_name){
if(file_exists('times/'.$ad_name.'.json')){
return true;
}else{
$time_arr = array(
'TIMES'=>0
);
if(file_put_contents('times/'.$ad_name.'.json',json_encode($time_arr)) != 0){
return true;
}else{
return false;
}
}
}
/**
* 添加点击量
*/
public function add_time($ad_name,$add_times){
//获取原有的点击量数据
$old_times = json_decode(file_get_contents('times/'.$ad_name.'.json'), true);
$new_times = $old_times['TIMES']+$add_times;
$new_time_arr = array(
'TIMES'=>$new_times
);
//写入新的点击量数据并检测是否成功
if(file_put_contents('times/'.$ad_name.'.json',json_encode($new_time_arr)) != 0){
return true;
}else{
return false;
}
}
/**
* 新建广告cookie,防止刷点击量 add_cookie($ad_1,15)
*/
public function add_cookie($ad_name,$in_code){
setcookie(md5($ad_name), $in_code, time()+86400, "/", $_SERVER['HTTP_HOST']);
}
/**
* 判断是否存在cookie
*/
public function det_cookie($ad_name){
if($_COOKIE[md5($ad_name)] != null){
return false;
}else{
return true;
}
}
/**
* 获取广告的URL
*/
public function get_ad_url($ad_name){
$ad_data = json_decode(file_get_contents('ad/'.$ad_name.'.json'), true);
$ad_url = $ad_data['URL'];
return $ad_url;
}
}
$ad_start = new ad_core;
//检测传参是否为空
if($_GET['ad'] != null){
$ad_name = $_GET['ad'];
//检测ad信息是否存在
if($ad_start -> det_ad($ad_name)){
if($ad_start -> det_ad_time_files($ad_name)){
if($ad_start -> det_cookie($ad_name)){
//新建cookie、添加点击量后跳转
//设置cookie为1-3600随机正整数
$ad_start -> add_cookie($ad_name,rand(1,3600));
$ad_start -> add_time($ad_name,1);
$ad_url = $ad_start -> get_ad_url($ad_name);
header('Location: '.$ad_url);
}else{
//直接跳转
$ad_url = $ad_start -> get_ad_url($ad_name);
header('Location: '.$ad_url);
}
}
}
}
?>