發表新文章 回覆主題  [ 1 篇文章 ] 

討論區首頁 : 資訊專區 : PHP程式設計

發表人 內容
 文章主題 : 不錯的記數器
文章發表於 : 2009年 3月 19日, 16:14 
離線
系統管理員

註冊時間: 2009年 1月 14日, 06:05
文章: 1419
不錯的記數器

可統計本年、月、日來訪人數 但不用MySQL 本人加入了跑馬燈效果

對了 這個記數器只能在UNIX系統上使用呦

防灌水 只要一個主程式即可(紀錄檔自動產生)

放置程式的資料夾權限請設777

<?
// ~~~~主程式~~~~~
//################################

// 版本更新內容
// 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>


Back to top
 個人資料  
 
顯示文章 :  排序  
發表新文章 回覆主題  [ 1 篇文章 ] 

討論區首頁 : 資訊專區 : PHP程式設計


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯文章
不能 在這個版面刪除文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
cron
Style by Midnight Phoenix & N.Design Studio
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
正體中文語系由 竹貓星球 維護製作