程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 最簡單的PHP程序--記數器

最簡單的PHP程序--記數器

編輯:關於PHP編程

原理:  
1.第一位使用者浏覽某頁。
2.伺服器程式從資料庫或檔案中讀取該頁被浏覽次數。
3.將次數加一儲存,並將它送回第一位使用者。
4.第二位使用者浏覽某頁。
5.伺服器程式從資料庫或檔案中讀取該頁被浏覽次數。
6.將次數再加一儲存,並將它送回第二位使用者。   
需要了解的函數:  
fopen()打開文件
filesize()獲得文件大小
fseek()移動文件指針
fgets()得到文件指針所在行內容
fputs()將字串寫如文件指針所在位置
fclose()關閉文件
file_exists()判斷文件是否存在
exec()執行外部程序  

最簡單的記數器:  
<html>  
<head>  
<title>訪客計數器 原型</title>  
</head>  
<body>  
<?php  
/*  
(c)1998 David W. Bettis  
這裡是版權信息  
*/  

$counterFile = "counter.txt";  
#這裡是定義記數器文件

function displayCounter($counterFile) {  
$fp = fopen($counterFile,"rw");
#打開文件,用讀寫方式

$num = fgets($fp,5);
#取得當前數字

$num += 1;
#加1

print "您是第 "."$num"." 位無聊份子";  
exec( "rm -rf $counterFile");  
exec( "echo $num > $counterFile");  
#偷懶的方式哦,不使用fputs寫入  
}  

if (!file_exists($counterFile)) {  
exec( "echo 0 > $counterFile");  
}#如果記數器文件不存在,新建它並設置內容為0

displayCounter($counterFile);  

?>  
</body>  
</html>   
PHP記數器比較簡單版:  
<?
#版權沒有啦,這麼簡單  

$fp=fopen("counter.txt","r+");
flock($fp,3);  
#打開記數器文件並鎖住

$fsize=filesize("count.txt");
$count=fgets($fp,$fsize+1);
$count++;  
#取得數碼並加一

fseek($fp,0);
fputs($fp,$count);
fclose($fp);
#將新數碼寫入文件

echo "你是第 $count 位訪問者";
?>  

PHP記數器圖形版:  
制作10個圖片,將數字串用圖片組起來,我就不細說了
假設圖片為0.gif ~ 9.gif

<?
....$count為取得的數值
$strcount=strval($count);
$strcount=chop($strcount);
$countlen=$strlen($strcount);
$shtml="";
for ($i=0; $i<$countlen; $i++) {
$shtml.="<img src='";
$shtml.=$strcount[$i];
$shtml.=".gif'>";
}
echo $shtml;
?>  

PHP記數器數據庫版:  
使用SQL記數器,先建好表
CREATE TABLE counter
(
counter int not null,
id int not null
)
INSERT INTO counter(counter,id) VALUE(0,1)

<?
$conn=mysql_connect(..., ..., ...);
#MySQL數據庫連接

$sql="select * from counter";
$result=mysql_query($sql,$conn);
$objresult=mysql_fetch_object($result);
$count=$objresult->counter;
$count++;  

$sql="update counter set counter=".$count."where id=1";
mysql_query($sql,$conn);
mysql_close($conn);


echo "你是第$count位訪客";
?> 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved