一个简单的php计数器
作者:admin 日期:2006-07-29
代码如下:
<?php
$ip = getenv("REMOTE_ADDR"); //IP
$count_file = "count.txt"; //文件
$max = 6; //位数
$count = 60; //次数
function formats(&$count) //方便存储,先格式化成20位字符串
{
$count = sprintf("%d",$count);
$j = 20-strlen($count);
for($i=0; $i<$j; $i++)
{
$count = "0".$count;
}
}
function ipdata(&$fp, &$ip) //ip是否已记录
{
$k = 1; //为1则还没有,为0则已访问
while(!feof($fp))
{
if($ip == Chop(fgets($fp,255)))
{
$k = 0;
break;
}
}
return $k;
}
function time_yes(&$count, &$ip) //记录的时间是今天
{
global $count_file;
$count += 1;
formats($count);
$fp = fopen($count_file, "a+");
fputs($fp, "\r\n".$ip);
fclose($fp);
$fp = fopen($count_file, "r+");
fputs($fp, $count);
fclose($fp);
}
function time_no(&$count, &$ip) //记录的时间不是今天
{
global $count_file;
$count += 1;
formats($count);
$fp = fopen($count_file, "w");
fputs($fp, $count);
fputs($fp, "\r\n".date(Ymd));
fputs($fp, "\r\n".$ip);
fclose($fp);
}
if(!file_exists($count_file))
{
time_no($count, $ip);
}
else
{
$fp = fopen($count_file, "r");
$count = fgets($fp, 255);
$to_time = fgets($fp, 255);
$k = ipdata($fp, $ip);
fclose($fp);
if(Chop($to_time) != date("Ymd"))
time_no($count, $ip);
elseif($k == 1)
time_yes($count, $ip);
}
$fp = fopen($count_file, "r");
$counts = fgets($fp, 255);
fclose($fp);
for($i=1; $i<=$max; $i++)
{
$num = substr($counts, $i+(19-$max), 1);
$image = "<img src=\"images/$num.gif\">";
$show = $show.$image;
}
print $show;
?>
<?php
$ip = getenv("REMOTE_ADDR"); //IP
$count_file = "count.txt"; //文件
$max = 6; //位数
$count = 60; //次数
function formats(&$count) //方便存储,先格式化成20位字符串
{
$count = sprintf("%d",$count);
$j = 20-strlen($count);
for($i=0; $i<$j; $i++)
{
$count = "0".$count;
}
}
function ipdata(&$fp, &$ip) //ip是否已记录
{
$k = 1; //为1则还没有,为0则已访问
while(!feof($fp))
{
if($ip == Chop(fgets($fp,255)))
{
$k = 0;
break;
}
}
return $k;
}
function time_yes(&$count, &$ip) //记录的时间是今天
{
global $count_file;
$count += 1;
formats($count);
$fp = fopen($count_file, "a+");
fputs($fp, "\r\n".$ip);
fclose($fp);
$fp = fopen($count_file, "r+");
fputs($fp, $count);
fclose($fp);
}
function time_no(&$count, &$ip) //记录的时间不是今天
{
global $count_file;
$count += 1;
formats($count);
$fp = fopen($count_file, "w");
fputs($fp, $count);
fputs($fp, "\r\n".date(Ymd));
fputs($fp, "\r\n".$ip);
fclose($fp);
}
if(!file_exists($count_file))
{
time_no($count, $ip);
}
else
{
$fp = fopen($count_file, "r");
$count = fgets($fp, 255);
$to_time = fgets($fp, 255);
$k = ipdata($fp, $ip);
fclose($fp);
if(Chop($to_time) != date("Ymd"))
time_no($count, $ip);
elseif($k == 1)
time_yes($count, $ip);
}
$fp = fopen($count_file, "r");
$counts = fgets($fp, 255);
fclose($fp);
for($i=1; $i<=$max; $i++)
{
$num = substr($counts, $i+(19-$max), 1);
$image = "<img src=\"images/$num.gif\">";
$show = $show.$image;
}
print $show;
?>
评论: 0 | 引用: 54 | 查看次数: 2345
发表评论