php网站计数器
❶ 求php编写的网页计数器代码(用cookie防止重复刷新计数)
<?php
$cFile="count.txt";
$acctime=time();
if(file_exists($cFile)){
$fp=fopen($cFile,"r");
$str=fgets($fp,22);
fclose($fp);
$count=trim($str);
$count++;
}else{
$count=1;
}
$first=false;
if(!isset($_COOKIE['acctime'])){
setcookie("acctime",$acctime,time()+3600*24);
$first=true;
$acctime=3600*24+$acctime;
}else{
$acctime=3600*24+$_COOKIE['acctime'];
}
if($first||$acctime<=time()){
$count=sprintf("%d",$count);
$fp=fopen($cFile,"w");
fputs($fp,$count);
fclose($fp);
}else{
$count--;
}
print "您是第 ".$count." 位访客。您下次访问计入统计的时间是:".date("Y-n-j H:i:s",$acctime)."。";
?>
❷ php访客计数器怎么做
用PHP读写文本文档制作最简单的访问计数器<?phpfunction get_hit($counter_file)//定义函数,内容用{}括起来,学过编程的人应该看出来了,跟C语言有点相似{$count=0;//将计数器归零,Php里的变量前面加上$号 if(file_exists($counter_file))//如果计数器文件存在,读取其中的内容{$fp=fopen($counter_file,"r");//r是read的缩写,代表读取的意思,以只读方式打开文件$count=0+fgets($fp,20);/*读取前20位数赋值给count变量,由于fgets()函数读取的是字符串,所以需要在前面+0来转换为整数,这一点跟ASP就不同了,ASP中字符串可以直接跟整型进行运算,而不用转换。*/fclose($fp);//关闭文件}$count++;//增加计数,这一点跟C就非常相似了$fp=fopen($counter_file,"w");//w是write的缩写,代表写入的意思,以写入的方式打开文件fputs($fp,$count);//输出计数值到文件fclose($fp);return($count);//返回计数值}?> <?php$hit=get_hit("counter.txt");//调用刚才定义的函数处理counter.txt文档,并把结果赋值给hit变量。echo "您是第<b>"."$hit"."</b>位访客!";//输出结果。PHP与ASP的区别在于:ASP的连字符是“&”,而Php的连字符是“.”。
❸ 求大神帮补充完善php网页访客计数器用图片显示的代码。在线等。
给你个验证码图片的,你参考,把内容替换了;
<?php
session_start();
//如果浏览器显示“图像XXX因其本身有错无法显示”,可尽量去掉文中空格
//先成生背景,再把生成的验证码放上去
$img_height=47;//先定义图片的长、宽
$img_width=21;
$authnum='';
//生产验证码字符
$ychar="0,1,2,3,4,5,6,7,8,9";
$list=explode(",",$ychar);
for($i=0;$i<4;$i++){
$randnum=rand(0,9);
$authnum.=$list[$randnum];
}
//把验证码字符保存到session
$_SESSION["vcode"] = $authnum;
$aimg = imagecreate($img_height,$img_width); //生成图片
imagecolorallocate($aimg, 255,255,255); //图片底色,ImageColorAllocate第1次定义颜色PHP就认为是底色了
$black = imagecolorallocate($aimg, 0,0,0); //定义需要的黑色
for ($i=1; $i<=100; $i++) {
imagestring($aimg,1,mt_rand(1,$img_height),mt_rand(1,$img_width),"@",imagecolorallocate($aimg,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255)));
}
//为了区别于背景,这里的颜色不超过200,上面的不小于200
for ($i=0;$i<strlen($authnum);$i++){
imagestring($aimg, 5,($i+1)*8,4, $authnum[$i],imagecolorallocate($aimg,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200)));
}
imagerectangle($aimg,0,0,$img_height-1,$img_width-1,$black);//画一个矩形
header("Content-type: image/PNG");
imagepng($aimg); //生成png格式
imagedestroy($aimg);
?>