很久之前老板要求做一个网页点击计数的功能。
但是作为一个做嵌入式的,让我做这个功能,内心是崩溃的。最关键的是网上没有一份完整的资料。
这个假期抽空学了一下web知识,也请教了相关大神,也逐渐有了实现的思路。
实现思路:点击页面->PHP读取文本->点击数+1存入文本->返回点击数到html
talk is less,show me code
counter.php
<?php
error_reporting(E_ALL);
ini_set("display_errors",1); //显示报错信息
$counter_dir = "counter_page/";//统计数据存放目录
$id = trim(strip_tags($_GET['id']));//获取文章文件名称
$id = basename(str_replace('/','_',$id),".md"); //id处理
$filename = "{$counter_dir}{$id}.txt";//文章统计实际文件路径
echo "console.log('filename {$filename}');";
if(!is_dir($counter_dir)){
try{
mkdir($counter_dir,0777,true);//检查统计器目录,不存在则创建
}catch(Exception $e){
echo $e->getMessage();
}
//echo "document.write('file is null');";
}
if(!file_exists($filename)){
//如果统计文件不存在,那么说明这个文档第一次被访问
$counter = 0;
}else{
$counter = intval(file_get_contents($filename));//读取访问次数
}
$counter += 1;//访问数据+1
echo "console.log({$counter});";
file_put_contents($filename,$counter);//写入统计数据
echo "var counter = {$counter};"; //复制到html文件中
?>
test.html
<html>
<head>
</head>
<script src="counter.php?id=1"></script> 传入id
<script type="text/javascript" src="./js/jquery-2.1.1.min.js"></script>
<script type="text/javascript" >
$(function() {
$("#aaa").text(counter);
})
</script>
<body>
<span id="aaa"></span>
</body>
</html>
最后还是要说一句:PHP是世界上最好的语言。