简单而又美观的php文本计数器
时间:2007-02-17 来源:PHP爱好者
这个文本计数器的设置非常简单,菜鸟几分钟也可以搞定,具体的演示可以到我的网址:english.oso.com.cn。
首先建立两个文本文件:counter.txt,ip.txt,并把属性设置成666。
然后把以下代码放在你需要的地方:
<table border="0" cellspacing="0" cellpadding="0" bgcolor="#000000">
<tr>
<td><font color="#FFFFFF" face="Arial, Helvetica, sans-serif" size="2"><b>
<?php
// Simple PHP Counter 1.1
// Created by bp135
// URL: http://bp135.cjb.net
//设置方法由socket7翻译,english.oso.com.cn
// - 把包含此代码的php文件设置属性成755! -
$padding =6; // 计数器的位数
$fpt = "counter.txt"; //记数的文本文件,注意属性设置成 666
// 可选择的设置部分
$lock_ip =0; // IP是否锁定(锁定后按“刷新”计数器不增加) 1=yes 0=no
$ip_lock_timeout =30; // IP锁定失效时间
$fpt_ip = "ip.txt"; //ip.txt的路径 ,属性设置成666
// 设置结束
function checkIP($rem_addr) {
global $fpt_ip,$ip_lock_timeout;
$ip_array = file($fpt_ip);
$reload_dat = fopen($fpt_ip,"w");
$this_time = time();
for ($i=0; $i<sizeof($ip_array); $i++) {
list($ip_addr,$time_stamp) = split("|",$ip_array[$i]);
if ($this_time <($time_stamp+60*$ip_lock_timeout)) {
if ($ip_addr == $rem_addr) {
$found=1;
}
else {
fwrite($reload_dat,"$ip_addr|$time_stamp");
}
}
}
fwrite($reload_dat,"$rem_addr|$this_timen");
fclose($reload_dat);
return ($found==1) ? 1 : 0;
}
if (!file_exists($fpt)) {
$count_dat = fopen($fpt,"w+");
$count = 1;
fwrite($count_dat,$count);
fclose($count_dat);
}
else {
$line = file($fpt);
$count = $line[0];
if ($lock_ip==0 || ($lock_ip==1 && checkIP($REMOTE_ADDR)==0)) {
$count_dat = fopen($fpt,"r+");
$count++;
fwrite($count_dat,$count);
fclose($count_dat);
}
}
echo sprintf ("%0"."$padding"."d",$count);
?></b></font></td>
</tr>
</table>
注意:包含此计数器代码的文件必须以php结尾,属性必须为755
php爱好者 站 http://www.phpfans.net 网页制作|网站建设|数据采集.
首先建立两个文本文件:counter.txt,ip.txt,并把属性设置成666。
然后把以下代码放在你需要的地方:
<table border="0" cellspacing="0" cellpadding="0" bgcolor="#000000">
<tr>
<td><font color="#FFFFFF" face="Arial, Helvetica, sans-serif" size="2"><b>
<?php
// Simple PHP Counter 1.1
// Created by bp135
// URL: http://bp135.cjb.net
//设置方法由socket7翻译,english.oso.com.cn
// - 把包含此代码的php文件设置属性成755! -
$padding =6; // 计数器的位数
$fpt = "counter.txt"; //记数的文本文件,注意属性设置成 666
// 可选择的设置部分
$lock_ip =0; // IP是否锁定(锁定后按“刷新”计数器不增加) 1=yes 0=no
$ip_lock_timeout =30; // IP锁定失效时间
$fpt_ip = "ip.txt"; //ip.txt的路径 ,属性设置成666
// 设置结束
function checkIP($rem_addr) {
global $fpt_ip,$ip_lock_timeout;
$ip_array = file($fpt_ip);
$reload_dat = fopen($fpt_ip,"w");
$this_time = time();
for ($i=0; $i<sizeof($ip_array); $i++) {
list($ip_addr,$time_stamp) = split("|",$ip_array[$i]);
if ($this_time <($time_stamp+60*$ip_lock_timeout)) {
if ($ip_addr == $rem_addr) {
$found=1;
}
else {
fwrite($reload_dat,"$ip_addr|$time_stamp");
}
}
}
fwrite($reload_dat,"$rem_addr|$this_timen");
fclose($reload_dat);
return ($found==1) ? 1 : 0;
}
if (!file_exists($fpt)) {
$count_dat = fopen($fpt,"w+");
$count = 1;
fwrite($count_dat,$count);
fclose($count_dat);
}
else {
$line = file($fpt);
$count = $line[0];
if ($lock_ip==0 || ($lock_ip==1 && checkIP($REMOTE_ADDR)==0)) {
$count_dat = fopen($fpt,"r+");
$count++;
fwrite($count_dat,$count);
fclose($count_dat);
}
}
echo sprintf ("%0"."$padding"."d",$count);
?></b></font></td>
</tr>
</table>
注意:包含此计数器代码的文件必须以php结尾,属性必须为755
php爱好者 站 http://www.phpfans.net 网页制作|网站建设|数据采集.
相关阅读 更多 +