首頁 >後端開發 >php教程 >php如何使用函數嵌入網站訪問量計數器的方法介紹

php如何使用函數嵌入網站訪問量計數器的方法介紹

黄舟
黄舟原創
2017-10-27 09:06:591217瀏覽

這是一種方法實作計數器。想看另一種方法的請點擊:【PHP】簡單的網站訪問量計數器實作

想看具體程式碼思路的也請點擊上面的連結。

建立Embed-Count資料夾

在Embed-Count資料夾下方建立counter.inc.php文件,內容如下:

<?php
function counter(){
  $counter = 0;               //初始化变量
  $max_len = 8;
  $lj = explode("/",$_SERVER["PHP_SELF"]); 

  //超全局变量$_SERVER[&#39;PHP_SELF&#39;]保存了当前运行脚本的名字 Embed_Count/al_Embed_Fn.php

  $CounterFile="./counter/".$lj[count ($lj)-1].".dat";
  if(!file_exists($CounterFile)){
    if(!file_exists(dirname($CounterFile))){
      mkdir(dirname($CounterFile),0777);
    }
    $cf = fopen($CounterFile,&#39;w&#39;);
    fputs($cf,&#39;0&#39;);
    fclose($cf);
  }
  else{
    $cf = fopen($CounterFile,&#39;r&#39;);
    $counter = trim(fgets($cf,$max_len));
    fclose($cf);
  }
  $counter++;
  $cf = fopen($CounterFile,&#39;w&#39;);
  fputs($cf,$counter);
  fclose($cf);
  echo $counter;
}



?>

在Embed-Count資料夾下面創建al_Embed_Fn.php文件,內容如下:

<?php
  include "counter.inc.php";
?>
<html>
<head>
  <meta charset="UTF-8">
  <title>嵌入式网页计数器-刘佳晨</title>
</head>
<body>
  <p id="dd">
    <span>欢迎您!</span>
    <span>您是本网站的第<?php counter(); ?>位访客</span>
  </p>
</body>
</html>


#好了,鍵入完成之後,是不是發現就只是把程式碼封裝成一個函數而已?

沒錯,但這次又用了許多新的函數和小技巧。讓我給你一 一道。

小技巧

1.多數php程式設計師習慣吧include或require 的檔案副檔名命名為「inc」;

2.$CounterFile="./counter/".$lj[count ($lj)-1].".dat";把計數器檔案定位在目前腳本所在資料夾下的子資料夾counter裡面,檔案以目前腳本名稱加上「dat」為名,即al_Embed_Fn.php.dat

3.689dc34096ff6d1e88049b4f80500954把計數器函數嵌入網頁中,該段腳本應放在6a74014ee44f5deb5894267f99b68016標記之前;counter.inc.php保存在與網頁相同的資料夾下,否則在include 中要指明檔案的存放路徑

4.976f34350b40561ad1fd28d93a9cff8c呼叫counter() 函數,該函數傳回計數器的值
好了,這個函數呼叫的嵌入式也做好了。

這裡有幾個函數需要說一下。

    mkdir(dirname($CounterFile),0777):建立以$CounterFlile的值為名的目錄,即./counter,目錄的存取權限是最高權限(可讀可寫可執行);

    dirname($CounterFile):回傳路徑中的目錄部分

    explode('/',$_SERVER[PHP_SELF]):傳回一個#字串陣列,每個元素為$_SERVER[PHP_SELF]經“/”作為邊界切割出的子字串

    count($lj):統計數組&lj中元素的個數

以上是php如何使用函數嵌入網站訪問量計數器的方法介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn