<?
//====================
//文件:cont.php
//功能:计数|记录
//作者:[email protected]
//修改:2002-1-23
//====================
$cont="cont.txt";
$logs="logs.txt";
$ip=$REMOTE_ADDR;
$Today=date("Y年m月d日 H:i:s"); $fp=fopen($cont,"r");
$num_cont=fgets($fp,5);
fclose($fp); $fp=fopen($cont,"w");
if($num_cont=="")$num_cont=0;
$num_cont+=1;
fputs($fp,$num_cont);
echo $num_cont;
//exec( "echo $num_cont > $cont");
fclose($fp); $fp=fopen($logs,"a");
$log_text=$num_cont." > ".$ip." 在 ".$Today."访问\n";
fputs($fp,$log_text);
fclose($fp);
?>
//====================
//文件:cont.php
//功能:计数|记录
//作者:[email protected]
//修改:2002-1-23
//====================
$cont="cont.txt";
$logs="logs.txt";
$ip=$REMOTE_ADDR;
$Today=date("Y年m月d日 H:i:s"); $fp=fopen($cont,"r");
$num_cont=fgets($fp,5);
fclose($fp); $fp=fopen($cont,"w");
if($num_cont=="")$num_cont=0;
$num_cont+=1;
fputs($fp,$num_cont);
echo $num_cont;
//exec( "echo $num_cont > $cont");
fclose($fp); $fp=fopen($logs,"a");
$log_text=$num_cont." > ".$ip." 在 ".$Today."访问\n";
fputs($fp,$log_text);
fclose($fp);
?>
//====================
//文件:cont.php
//功能:计数|记录
//作者:[email protected]
//修改:2002-1-23
//====================
$cont="cont.txt";
$logs="logs.txt";
$ip=$REMOTE_ADDR;
$Today=date("Y年m月d日 H:i:s"); $fp=fopen($cont,"r");
$num_cont=fgets($fp,5);
fclose($fp); $fp=fopen($cont,"w");
if($num_cont=="")$num_cont=0;
$num_cont+=1;
fputs($fp,$num_cont);
echo $num_cont;
//exec( "echo $num_cont > $cont");
fclose($fp); $fp=fopen($logs,"a");
$log_text=$num_cont." > ".$ip." 在 ".$Today."访问\n";
fputs($fp,$log_text);
fclose($fp);
?>
//====================
//文件:cont.php
//功能:计数|记录
//作者:[email protected]
//修改:2002-1-23
//====================
$cont="cont.txt";
$logs="logs.txt";
$ip=$REMOTE_ADDR;
$Today=date("Y年m月d日 H:i:s"); $fp=fopen($cont,"r");
$num_cont=fgets($fp,5);
fclose($fp); $fp=fopen($cont,"w");
if($num_cont=="")$num_cont=0;
$num_cont+=1;
fputs($fp,$num_cont);
echo $num_cont;
//exec( "echo $num_cont > $cont");
fclose($fp); $fp=fopen($logs,"a");
$log_text=$num_cont." > ".$ip." 在 ".$Today."访问\n";
fputs($fp,$log_text);
fclose($fp);
?>
///////// ----- [email protected] ///////////
// 支持内部/外部ip统计,日访问量统计 //
///////////////////////////////////////////////////$yourip=$REMOTE_ADDR." ".$HTTP_USER_AGENT;
$yourip_min=$REMOTE_ADDR;function IPisOutside($ip)
{
if (substr($ip,0,3)=="192" ||
substr($ip,0,3)=="172" ||
substr($ip,0,3)=="127")
{
return false;
}
return true;
}function counter()
{
global $yourip;
global $yourip_min;
$basedir="./counter/"; // should be terminated with "/"
$counterFile=$basedir."_counter_.txt";
if (!file_exists($counterFile))
{
//die("计数器记录文件丢失!");
$fp=fopen($counterFile,"w");
fputs($fp,"");
fclose($fp);
}
$fd=@fopen($counterFile,"r");
$str=@fread($fd,255);
$str_array=@explode("||",$str);
while(list($key,$value)=each($str_array))
{
$count[$key]=$value;
}
@fclose($fd);
$num=$count[0]*1;
$ip=$count[1];
/////////
$total_count_in_out_tmp=@explode(",",$count[2]);
$total_count_in=$total_count_in_out_tmp[0]*1;
$total_count_out=$total_count_in_out_tmp[1]*1;
/////////
$total_days=$count[7]*1;
$average_day_in=$count[4]*1;
$p1_array=@explode(",",$count[3]);
$in_date_count=$p1_array[0]*1;
$in_date=$p1_array[1];
$average_day_out=$count[6];
$p2_array=@explode(",",$count[5]);
$out_date_count=$p2_array[0]*1;
$out_date=$p2_array[1];
if (date("Y-m-d")<>"$in_date")
{
$total_days++;
$average_day_in= round( ($in_date_count + $average_day_in*($total_days-1))/$total_days);
$in_date=date("Y-m-d");
$average_day_out= round( ($out_date_count + $average_day_out*($total_days-1))/$total_days);
$out_date=date("Y-m-d");
$in_date_count=0;
$out_date_count=0;
}
if($ip!=$yourip) //若想不以IP统计,请注释此行
{
$num++;
if (IPisOutside($yourip)==false)
{
$total_count_in++;
$in_date_count++;
}
else
{
$total_count_out++;
$out_date_count++;
}
}
///////////
$fd=@fopen($counterFile,"w");
fputs($fd,"$num||$yourip||$total_count_in,$total_count_out||$in_date_count,$in_date||$average_day_in||$out_date_count,$out_date||$average_day_out||$total_days");
fclose($fd);
$average_day_total=$average_day_in+$average_day_out;
$counter_info="<IP访客计数器>\n总访问量 $num"."\n内部 $total_count_in"."\n外部 $total_count_out"."\n----------\n平均日访问量 $average_day_total"."\n内部 $average_day_in"."\n外部 $average_day_out"."\n----------\n你的IP是 $yourip_min";
$count_len=strlen($num);
for($i=0;$i<$count_len;$i++)
{
$ok[$i]=substr($num,$i,1).".gif";
echo "<img src='$basedir$ok[$i]' width=\"7\" height=\"10\" title=\"$counter_info\">";
/////////////////////
}
} counter();
?>
0.gif、1.gif 。。9.gif
{
echo substr($num,$i,1); /////////////////////
}
//还有一些辅助文件,请mailto:[email protected]索取打包$datafile="poppadata.dat"; //计数器的数据库文件
$textcountlength = 5; //计数器的统计位数
$font = "Arial, Helvetica, sans-serif"; //数字的字体
$fontsize = "2"; //数字的大小
$fontcolour = "#999999"; //数字的颜色
$firsttry = 1; //计数器的初始值
//函数定义部分//
function convert_ip($ip)
{
$ip_detail=explode(".",$ip);
if (file_exists("datafile/$ip_detail[0].txt")) $ip_data=file("datafile/$ip_detail[0].txt");
else $ip_data=file("datafile/0.txt");
for ($i=0; $i<=3; $i++) {
$ip_detail[$i] = sprintf("%03d", $ip_detail[$i]);
}
$ip=join(".",$ip_detail);
$count=count($ip_data);
$count=$count-1;
for ($i=0; $i<=$count; $i++) {
$ip_data_detail=explode("|",$ip_data[$i]);
if ($ip>=$ip_data_detail[0] && $ip<=$ip_data_detail[1]) return $ip_data_detail[2].$ip_data_detail[3];
}
if ($ip_detail[0]=="127") return "本地机器";
return "未知地区";
}
function readcountdata()
{
global $datafile;
$file = fopen($datafile,"r+");
$poppacount = fgets($file,50);
fclose ($file);
return $poppacount;
}
function assay($ip)
{
global $ipfilename;
$assaydata = file("visdata/$ipfilename");
for($i = 0; $i < count($assaydata); $i++)
{
$assayforward = explode("||", $assaydata[$i]);
if ($assayforward[0] == $ip)
{
$iphave=1;
break;
}
}
return $iphave;
}
//主程序部分//
$ipfilenametemp=date(Ymd);
$ipfilename="$ipfilenametemp.dat";
$ip=getenv("REMOTE_ADDR");
$comefrom=convert_ip($ip);
$visterdata=date("h:i:s");
$ipfulldata="$ip||$comefrom||$visterdata\n";
if (!file_exists($datafile))
{
$file = fopen($datafile,"w+");
fwrite ($file,$firsttry);
fclose ($file);
$poppacount=$firsttry;
$ipfile=fopen("visdata/$ipfilename","w+");
fwrite ($ipfile,$ipfulldata);
fclose ($ipfile);
}
else
{
if (!file_exists("visdata/$ipfilename"))
{
$ipfile=fopen("visdata/$ipfilename","w+");
fwrite ($ipfile,$ipfulldata);
fclose ($ipfile);
$poppacount=readcountdata();
$poppacount+=1;
$file = fopen($datafile,"w+");
fwrite ($file,$poppacount);
fclose ($file);
}
else
{
if(assay($ip)==1)
{
$poppacount=readcountdata();
}
else
{
$poppacount=readcountdata();
$poppacount+=1;
$file = fopen($datafile,"w+");
fwrite ($file,$poppacount);
fclose ($file);
$ipfile=fopen("visdata/$ipfilename","a+");
fwrite ($ipfile,$ipfulldata);
fclose ($ipfile);
}
}
}
$countover="<font face=$font size=$fontsize color=$fontcolour>".sprintf("%0"."$textcountlength"."d",$poppacount)."</font>";
?>
document.write("<?echo $countover;?>");