首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 實作極簡計數器:兩種輸出模式完整範例

     編輯:PHP 綜合知識

前言

早期網站常見的計數器多以圖片方式呈現,但隨著技術演進,純文字計數器因輕量、易整合、可自訂樣式而受青睞。本文整理自早期 PHP 社群分享的「最省空間計數器」概念,提供兩種實作範例:一種輸出 JavaScript 供前端直接嵌入,另一種直接輸出純文字供後端或模板引擎使用。

核心原理

計數器的核心在於向遠端計數服務(此處為 `https://www.jx.zj.cninfo.net/cgi-bin/count.cgi?df=wfnic.dat`)發送請求,取得純文字格式的計數值,再依需求決定輸出格式。此做法無需資料庫、無需寫入本地檔案,極適合靜態頁面或無資料庫環境的專案。

範例一:JavaScript 輸出版(適用於前端直接嵌入)

此版本輸出一段 `document.write` 程式碼,瀏覽器執行後會直接在頁面寫入加粗的計數數字。適用於傳統 HTML 頁面、SSI 無法使用的環境,或需跨域嵌入計數器的場景。

<?php
// count.php - JS 應用版
$a = file("https://www.jx.zj.cninfo.net/cgi-bin/count.cgi?df=wfnic.dat");
// 輸出 JS 程式碼,瀏覽器會執行 document.write 寫入 <b>計數</b>
print "document.write('<b>$a[0]</b>');";
?>

前端引用方式:

<script src="count.php"></script>

範例二:PHP 直接輸出版(適用於後端整合、模板引擎)

此版本直接輸出純文字數字,適合在 PHP 模板中直接 `include`,或搭配 `file_get_contents`、`curl` 由後端抓取後再行處理(如格式化、加上千分位符號等)。

<?php
// count.php - PHP 直接版
$a = file("https://www.jx.zj.cninfo.net/cgi-bin/count.cgi?df=wfnic.dat");
// 直接輸出純文字計數值
print $a[0];
?>

後端整合範例:

<?php
$count = file_get_contents('count.php');
echo "目前訪客數:" . number_format((int)$count);
?>

現代化改良建議

  • 改用 HTTPS:若計數服務支援 HTTPS,請務必更新 URL,避免混合內容警告。
  • 加入快取機制:頻繁請求遠端會拖慢頁面載入。建議使用 APCu、Redis 或檔案快取,每 5-10 分鐘同步一次遠端計數。
  • 錯誤處理:遠端服務若回應逾時或格式異常,應有預設值(如顯示「--」或本地備份計數),避免頁面中斷。
  • 避免 `file()` 封鎖:生產環境建議改用 `curl` 或 `stream_context_create` 設定逾時,防止遠端無回應導致 PHP 執行緒卡住。

結語

雖然現代網站多改用 Google Analytics、Matomo 等完整分析工具,但簡易計數器在特定情境(如靜態部落格、舊系統維護、極簡頁面)仍具備「零依賴、即插即用」的優勢。理解其運作原理,也有助於掌握 PHP 遠端請求與輸出控制的基礎觀念。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved