天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

用PHP來寫記數(shù)器(詳細(xì)介紹)

php實(shí)例剖析:計(jì)數(shù)器
作者:Sucre_tiger
本款計(jì)數(shù)器用文本計(jì)數(shù),沒有用到數(shù)據(jù)庫,可以實(shí)現(xiàn)如下功能:
利用一個(gè)文本文件實(shí)現(xiàn)多個(gè)頁的計(jì)數(shù)減少服務(wù)器的I/O占用率在需要紀(jì)錄的文件里,只需加入很少的幾行代碼                                    
基本思路如下:
服務(wù)器程序從文本文件中讀取該頁被瀏覽的次數(shù),(因?yàn)樗形募?a href=/yuedu/fuwuqi/ target=_blank class=infotextkey>服務(wù)器提出請求時(shí),他們的環(huán)境變量REQUEST_URI都代表他來自于何處... ...,所以,以請求文件的環(huán)境變量REQUEST_URI來辨別到底是那一頁正被瀏覽。),將這個(gè)次數(shù)加一儲(chǔ)存,并在調(diào)用這頁的用戶的計(jì)算機(jī)上顯示出來。
請先看我的數(shù)據(jù)文本中紀(jì)錄的數(shù)據(jù)樣本,(紅色為瀏覽次數(shù),其前面為相應(yīng)的被瀏覽的文件)
Counter.dat/script/s2.php|3|/script/s1.php|11| /script/counter.php|5| /testhtml/s2.php|7|/testhtml/s3.php|6|
Now,Let's go!
counter.php
復(fù)制代碼 代碼如下:
<html><head>
<title>計(jì)數(shù)器</title>
<head>
<body>
<?php
/* 定義儲(chǔ)存數(shù)據(jù)的文本文件 */
$counterFile="counter.dat/";
/* 定義一個(gè)標(biāo)記,用來辨別現(xiàn)在需紀(jì)錄的數(shù)據(jù)是否已經(jīng)文本數(shù)據(jù)中 */
$sign=False;
/* 將數(shù)據(jù)以數(shù)組的方式讀入變量 $sounterData 備用, */
$counterData=file($counterFile);
/* 用count()函數(shù)計(jì)算共有多少個(gè)紀(jì)錄 */
/* 用explode()函數(shù)把$counterData[$i]按符號(hào)/"|/"分開,并以數(shù)組的方式送回到變量$varArray里 */
/* 函數(shù)implode()與explode()剛剛相反,把數(shù)組$varArray以符號(hào)/"|/"連接起來送回到$counterData */
/* 還利用了環(huán)境變量$PATH_INFO
for($i=0;$i<=count($counterData)-1;$i++)
 {
  $varArray=explode(/"|/",$counterData[$i]);
  if ($varArray[0]==$GLOBALS[/"REQUEST_URI/"])
   {
    $varArray[1]++;
    print($varArray[1]);
    $counterData[$i]=implode(/"|/", $varArray);
    $sign=True;
    /* 找到本紀(jì)錄所在的位置后, 用break 退出循環(huán) */ 
    break;
   }
 }
/* 在這里,利用implode()這個(gè)函數(shù)的功能,將數(shù)據(jù)整理好了,一起寫入文本文件中 */
/* 這樣,對服務(wù)器的I/O占用就降到了最低點(diǎn)
$data=implode(/"/",$counterData);
/* 打開文本文件,將數(shù)據(jù)寫入 */
$fp=fopen($counterFile,/"w/");
fputs($fp,$data);
/* 如果需要紀(jì)錄的數(shù)據(jù)不在文本里,標(biāo)志$sign= Flase, 那么就往文本里添加數(shù)據(jù) */
if (!$sign) {fputs($fp,/"http://n/".$GLOBALS[/"REQUEST_URI/"]./"|/"./"1/"./"|/");
print(/"1/");
/* 關(guān)閉數(shù)據(jù)文件 */
fclose($fp);
?>
</body>
</html>

我們已經(jīng)看到了這段程序的工作過程,也都知道了思路,但如果,每個(gè)文件里都這樣寫,豈不是太麻煩.
別慌! 我們還有php提供的強(qiáng)大的require()功能呢! 我們把counter.php寫成函數(shù),使用就方便許多了。那還等什么,下面就是你所要的函數(shù):
counter.inc
復(fù)制代碼 代碼如下:
<?php
function Counter()
{
  $counterFile=/"/freespace/sucre/public_html/counter.dat/";
  $counterData=file($counterFile);
  $sign=False;
  for($i=0;$i<=count($counterData)-1;$i++)
   {
    $varArray=explode(/"|/",$counterData[$i]);
    if ($varArray[0]==$GLOBALS[/"REQUEST_URI/"])
     {
       $varArray[1]++;
       print($varArray[1]);
       $counterData[$i]=implode(/"|/", $varArray);
       $sign=True; break;
     }
   }
  $data=implode(/"/",$counterData);
  $fp=fopen($counterFile,/"w/");
  fputs($fp,$data);
  if (!$sign)
   {
    fputs($fp,/"http://n/".$GLOBALS[/"REQUEST_URI/"]./"|/"./"1/"./"|/");
    print(/"1/");
   }
  fclose($fp);
}
?>
最好的檢驗(yàn)方法就是“實(shí)踐”,好了來看我們怎樣調(diào)用它,先看一個(gè)例子:
counterTest.php
<?php
require(/"counter.inc/");
?>
<html>
<head>
<title> 網(wǎng)頁計(jì)數(shù)器 終結(jié)版 </title>
</head>
<body>
您是第<? counter();?>位閱讀者
</body>
</html>

您只需在要計(jì)數(shù)的HTML文件的文件頭加入require()函數(shù),引入counter()函數(shù)為homepage的一部分。在需要的地方加入<? counter();?>就可以了。
還有幾點(diǎn)要注意的問題:
1、    記錄數(shù)據(jù)的文件一定要有“寫”的權(quán)限,一般設(shè)成“666”即可,如果該文件存放在一個(gè)子目錄下,則對這個(gè)“目錄”也要有“寫”的權(quán)限;
2、    我在調(diào)試過程中遇到這樣一個(gè)問題,我將counter.inc和counter.dat放在一個(gè)子目錄include下面,然后在不同的子目錄下面用require()函數(shù)進(jìn)行調(diào)用,格式如下:<?php  
      require("../include/counter.inc")
    ?>
可是總是出現(xiàn)“權(quán)限不夠”的錯(cuò)誤,如有高手請指教。

php技術(shù)用PHP來寫記數(shù)器(詳細(xì)介紹),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久久久久久尹人综合网亚洲 | 久久综合狠狠综合久久综合88 | 男插女高潮一区二区 | 久久99re6国产在线播放 | 毛片大片免费看 | 97SE亚洲国产综合自在线不卡 | 优菈的乳液狂飙天堂W98 | 亚洲国产在线精品国偷产拍 | 日日夜夜天天操 | 在线观看国产高清免费不卡 | 国产老头与老太hd | 中文在线无码高潮潮喷在线 | 欧美16一17sex性hd | 新影音先锋男人色资源网 | 日韩精品卡1卡2三卡四卡乱码 | 99久久久久亚洲AV无码 | 校花在公车上被内射好舒服 | 亚洲婷婷天堂综合国产剧情 | 私密按摩师在线观看 百度网盘 | 亚洲人视频在线 | 精品国产免费观看久久久 | avove旗袍丝袜高跟啪啪 | 麻豆沈芯语| 人妻无码AV中文系统久久免费 | 亚洲中文字幕在线精品 | 色综合久久天天影视网 | 国产亚洲999精品AA片在线爽 | 亚洲大片免费观看 | 色偷偷爱偷偷要 | 无码日本亚洲一区久久精品 | 亚洲人成在线播放网站岛国 | 国产午夜福利伦理300 | 欧美日韩高清一区二区三区 | 久久久久久免费观看 | 色鲁97精品国产亚洲AV高 | 久久精品无码一区二区日韩av | 果冻传媒我的女老板 | 奇米精品一区二区三区在线观看 | 国产一级特黄a大片99 | 一本之道高清在线观看一区 | 国产电影尺度 |