PHP 記事本(txt) 圖片計數器

  • 12297
  • 0
  • PHP
  • 2015-02-02

PHP 記事本(txt) 圖片計數器

此範例是利用session來記錄是否有瀏覽網頁,

如果在瀏覽器在關閉之前重新整理網頁,

計數器不會重複計數

首先,準備0-9的數字圖片放在images的資料夾內,

新增名為 counter.txt 空白記事本放在網站根目錄內。

(小撇步:如果要讓計數不要從0開始,可以在記事本內先打好想要的計數數字,

                 例如,在counter.txt 裡面輸入100,在執行網頁之後,會從101開始計數。)

網站目錄如下圖:

 

index.php

<?php session_start();

 if ($_SESSION['counter']=="") {                           
        $_SESSION['counter']="user";
       $fp=fopen("counter.txt","r+");             //開啟txt檔,r+:以讀寫的方式開啟,將文件指向文件開始端
       $counter=fgets($fp,4096);                 //讀取檔案
       $counter=doubleval($counter)+1;      //將文件內的數字轉為倍浮點數類型後+1
       fseek($fp,0);                                       //在打開中的文件定位,0是一開始的位子
       fputs($fp,$counter);                            //將新的數字寫入txt檔
       $n=strlen("$counter");                        //得到字串長度
       $image="";
 
      //產生圖片
       for($i=0;$i<$n;$i++){
           $gra_counter=substr($counter,$i,1);
           $image=$image."<img src='images/".$gra_counter.".gif'>";
       }
       $zeor=6-$n;
       for($j=0;$j<$zeor;$j++){
           $image2.="<img src='images/0.gif'>";
       }
       $image=$image2.$image;
       fclose($fp);                                          //關閉開啟的txt檔
}else{
       $fp=fopen("counter.txt","r+");              //開啟txt檔,r+:以讀寫的方式開啟,將文件指向文件開始端
       $counter=fgets($fp,4096);                  //讀取檔案
 
       fseek($fp,0);                                       //在打開中的文件定位,0是一開始的位子
       fputs($fp,$counter);
       $n=strlen("$counter");                        //得到字串長度
         
         //產生圖片
       for($i=0;$i<$n;$i++){
           $gra_counter=substr($counter,$i,1);
           $image=$image."<img src='images/".$gra_counter.".gif'>";
       }
 
       $zeor=6-$n;
       for($j=0;$j<$zeor;$j++){
           $image2.="<img src='images/0.gif'>";
       }
 
       $image=$image2.$image;
 
       fclose($fp);
}
?>
<html>
   <head>    
   <meta charset="utf-8" />    
   <title>PHP 記事本(txt) 圖片計數器</title>
   </head>
   <body>
        <table border="0" cellspacing="0" cellpadding="0">
                  <tr>
                    <td align="center">
                    <?php echo $image;?>
                    </td>
                  </tr>
        </table>
    </body>
</html>
 
 
執行結果如下圖:
 
 

 

 

參考或是複製語法時,別忘了留個言喔 ^ ^ ~