主程式按此下載
範例按此
修改方法嗎 看註解吧
V~~~~~主程式~~~~~~V
<?
//################################
// 版本更新內容
// V1.0 計數器問世
// V1.1 修正鎖定IP功能
// V1.2 加入自行設定功能
// V1.3 加入圖片顯示功能
// V1.4 加入跑馬燈效果(By超愛牛奶)
//################################
//==================================
// 設定區
//==================================
//本計數器必需架設在Unix-Like作業系統
//請把計數器所在的目錄權限開成777
//計數器的記錄檔↓
$database = "counter.txt";
//IP的鎖定檔↓
$link = "ip.txt";
//鎖定同一個IP(防灌水)的秒數,設太高會增加系統負擔↓
$sec = "300";
//計數器與IP記錄檔案中每筆資料的分格記號(勿用.和數字)↓
$br = "@#~";
//是否使用圖片顯示,預設為1(0:不使用 1:使用)
$pics = "0";
//使用圖片的話,圖片0~9的檔名(由上往下是0.1.2...9)↓
$pic[0] = "0.gif";
$pic[1] = "1.gif";
$pic[2] = "2.gif";
$pic[3] = "3.gif";
$pic[4] = "4.gif";
$pic[5] = "5.gif";
$pic[6] = "6.gif";
$pic[7] = "7.gif";
$pic[8] = "8.gif";
$pic[9] = "9.gif";
//網頁的標題↓
$title = "計數器V1.4";
//背景顏色(請用16進位RGB色彩碼)↓
$bgcolor = "#DDDDFF";
//文字顏色(說明同上)↓
$fgcolor = "#8888FF";
//文字大小(1~7),標準值是3↓
$fontsize = "2";
//==================================
// 檢查資料
//==================================
$cd = file_exists($database);
if($cd !=1){
$fp = fopen($database,"w");
chmod($database,0667);
}
$cd = file_exists($link);
if($cd != 1){
$fp = fopen($link,"w");
chmod($link,0667);
}
//==================================
// 主程式
//==================================
$fp = fopen($database,"r");
$data = fread($fp,filesize($database));
$num = explode($br,$data);
fclose($fp);
$fp = fopen($link,"r");
$locks = fread($fp,filesize($link));
$ip = explode($br,$locks);
fclose($fp);
for($i = 0;$i < sizeof($ip);$i += 2){
$timeout = time(void) - $ip[$i + 1];
if($timeout >= $sec){
$ip[$i] = "null";
$ip[$i + 1] = "null";
}
}
for($i = 0;$i < sizeof($ip);$i += 2){
if($REMOTE_ADDR == $ip[$i]){
$add = "N";
break;
}
}
if(date("j") != $num[1]){
$num[1] = date("j");
$num[2] = "0";
}
if(date("n") != $num[3]){
$num[3] = date("n");
$num[4] = "0";
}
if(date("Y") != $num[5]){
$num[5] = date("Y");
$num[6] = "0";
}
if($add != "N"){
$ip[sizeof($ip)] = $REMOTE_ADDR;
$ip[sizeof($ip)] = time();
for($i = 0;$i <= 6;$i += 2){
$num[$i] += 1;
}
$fp = fopen($database,"w");
for($i = 0;$i <= 6;$i++){
$newnum = $newnum . $num[$i] . $br;
}
fwrite($fp,$newnum);
fclose($fp);
$fp = fopen($link,"w");
for($i = 0;$i < sizeof($ip);$i++){
if($ip[$i] != "null"){
$newip = $newip . $ip[$i] . $br;
}
}
fwrite($fp,$newip);
fclose($fp);
}
//==================================
// HTML輸出
//==================================
?>
<html>
<head><title><? echo $title; ?></title></head>
<body bgcolor = <? echo $bgcolor; ?>>
<marquee direction="right"><font color = <? echo
$fgcolor; ?> size = <? echo $fontsize .">";
if($pics != "1"){
echo "本日人氣:" . $num[2] . " ";
echo $num[3] . "月人氣:" . $num[4] . " ";
echo ($num[5] - 1911) . "年人氣:" . $num[6];
echo " 總人氣:" . $num[0];
}else{
echo "本日人氣:";
for($i=0;$i<strlen($num[2]);$i++){
$n = substr($num[2],$i,1);
echo "<img src= $pic[$n]>";
}
echo " " . $num[3] . "月人氣:";
for($i=0;$i<strlen($num[4]);$i++){
$n = substr($num[4],$i,1);
echo "<img src= $pic[$n]>";
}
echo " " . ($num[5] - 1911) . "年人氣:";
for($i=0;$i<strlen($num[6]);$i++){
$n = substr($num[6],$i,1);
echo "<img src= $pic[$n]>";
}
echo " 總人氣:";
for($i=0;$i<strlen($num[0]);$i++){
$n = substr($num[0],$i,1);
echo "<img src= $pic[$n]>";
}
}
?></marquee>
</font>
</body>
</html> |