最簡單的PHP程式--記數器_php基礎

來源:互聯網
上載者:User
原理:  
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位訪客";
?> 
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.