查看: 2773|回復: 0
打印 上一主題 下一主題

[程式編輯]獨一無二的圖形計數器

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-2-16 01:47:09 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
<?php
  $FileName = "Count.txt";
  if (file_exists($FileName)) {
    $fp = fopen($FileName, "r+");
    $Count = fread($fp, filesize($FileName));
    if ($Count<=0)
      $Count = 1;
    else
      $Count++;
    rewind($fp);
  } else {
    $fp = fopen($FileName, "w");
    $Count = 1;
  }
  fwrite($fp, $Count);
  fclose($fp);
  
  // 第一種方式
  $CountStr = "" + $Count;
  $NumPic = "";
  while (strlen($CountStr)>0) {
    $NumStr = substr($CountStr, strlen($CountStr)-1, 1);
    $CountStr = substr($CountStr, 0, strlen($CountStr)-1);
    $NumPic = "<img src='". $NumStr .".jpg'>". $NumPic;
  }
  echo "目前瀏覽人次 $NumPic 次<br>";

  // 第二種方式
  $NumPic = "";
  while ($Count>0) {
    $Num = $Count - floor($Count/10)*10;
    $Count = floor($Count/10);
    $NumPic = "<img src='". $Num .".jpg'>". $NumPic;
  }
  echo "目前瀏覽人次 $NumPic 次";
?>
函式:
  1. 部份檔案函式請參見前一範例「留言板」範例說明。
  2. strlen(字串)
    計算字串的長度。
  3. substr(字串, 起算位數, 取幾個)
    截取字串,從起算位數開始取,一共取幾個,字串的第一位數是以0開始,第二位數則是1。
  4. floor(數字)
    無條件捨去整數的小數位,只取整數。
結果:
  1. 目前瀏覽人次 1 次
  2. 目前瀏覽人次 1 次
說明:
  1. 準備10個圖形,分別從0.jpg∼9.jpg,例如0123456789;如果你是準備.gif,別忘了把程式碼由.jpg改成.gif。
  2. 讀出舊人數,累加後並存回檔案(可參照前一範例說明)。
  3. 第一種方式:將上站人數先轉成字串後,逐一取最後一個字元,再顯示對應的圖形後,再將字串縮短截取,直到字串完全截取完為止。
  4. 第二種方式:直接取得上站人數,利用除以10求餘數的方式逐一取得個位數,再顯示對應的圖形後,然後將人數除以10,直到人數等於零為止。
  5. 先轉成字串再顯示圖形,主要是避免人數數值過長而產生的溢位錯誤。將Count.txt內容改成123456789123後,再比較兩種方式的結果。
  6. 在自己的網頁上多按幾次「重整」,就可以看到計數器的累加情形。
  7. 計數檔Count.txt及存放計數檔的目錄要設成有write的屬性,例如chmod a+w Count.txt和chmod a+w 目錄名。
  8. 做屬於自己的計數器雖然挺酷的,但是基本上為了不浪費頻寬,個人還是強烈建議還是使用前一範例的"純文字方式"計數器。
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

本論壇為非營利之網路平台,所有文章內容均為網友自行發表,不代表論壇立場!若涉及侵權、違法等情事,請告知版主處理。


Page Rank Check

廣告刊登  |   交換連結  |   贊助我們  |   服務條款  |   免責聲明  |   客服中心  |   中央分站

手機版|中央論壇

GMT+8, 2026-10-29 07:08 , Processed in 0.039131 second(s), 15 queries .

Powered by Discuz!

© 2005-2015 Copyrights. Set by YIDAS

快速回復 返回頂部 返回列表