用PHP生成访客计数器

金盛洁丽公司

金盛洁丽公司

2016-01-29 13:44

用PHP生成访客计数器,用PHP生成访客计数器

现在,上网的人越来越多,许多网友尝试着制作自己的主页,访客计数器是必不可少的一部分。虽然很多网站提供免费的计数器,可毕竟不是自己亲手制作的?有的朋友可能认为它很难,不敢去尝试,其实有了PHP这个工具,它并不难,甚至可以说它很容易。

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

首先,让我来谈一谈访客计数器的思路:一位访问者浏览此页,服务器(如Apache)从一个文档(下文以num.txt为例)中读取该页已被浏览的次数,加一,然后存回num.txt,并在浏览器中显示加一后的次数。 如果又一位访问者浏览此页,服务器又重复上述过程,从而实现了访客计数器。

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

PHP没有直接的计数器函数,但利用它强大的功能,我们可以很容易地自己编写一个计数器。

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

现对程序需要用到的函数进行说明:

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

1. 打开文件操作:int fopen(string filename, string mode);

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

其中string filename 是要打开的文件名,必须为字符串形式。例如"num.txt"。

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

string mode 是打开文件的方式,必须为字符形式。

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

’r’,只读形式,文件指针指向文件的开头。

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

’r ’,可读可写,文件指针指向文件的开头。

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

’w’,只写形式,文件指针指向文件的开头,把文件长度截成0,如果文件不存在,将尝试建立文件。

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

’w ’,可读可写,文件指针指向文件的开头,把文件长度截成0,如果文件不存在,将尝试建立文件。

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

’a’,追加形式(只可写入),文件指针指向文件的最后,如果文件不存在,将尝试建立文件。

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

’a ’,可读可写,文件指针指向文件的最后,如果文件不存在,将尝试建立文件。

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

2. 读文件操作:string fgets(int fp, int length);

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

其中 int fp 是要读入数据的文件流指针,由fopen函数返回数值。

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

int length 是要读入的字符个数,实际读入的字符个数是length-1。

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

3. 写文件操作:int fputs(int fp, string str, int [length]);

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

其中int fp 是要写入信息的文件流指针,由fopen函数返回数值。

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

string str 是要写入文件的字符串。

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

int length 是写入的长度,可选,如果不选length,则整个串将被写入。否则,写入length长度个字符。

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

4. 关闭文件操作:int fclose(int fp);

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

其中int fp是fopen函数返回的文件流指针。

下面,我们来看一下计数器的原型:(假设num.txt文件存在)

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

<?php

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

$fp = fopen("num.txt", "r");

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

//只读方式打开num.txt文件

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

$num = fgets($fp,5);

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

//读取4位数字

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

$num ;

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

//浏览次数加一

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

fclose($fp);

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

//关闭文件

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

$fp = fopen("num.txt", "w");

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

//只写方式打开num.txt文件

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

fputs($fp, $str1);

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

//写入加一后结果

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

fclose($fp);

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

//关闭文件

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

echo "$num";

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

//浏览器输出浏览次数

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

?

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

需要说明的是,这只是计数器的原型,它只能以文本方式显示次数,并不美观,而PHP具有极其强大的图像处理能力,用它可以很轻易的动态生成WEB图像。下面对上述原型加以修改,使之成为一个真正实用的计数器。

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

它的思路是这样的:用原型中的方法得到访问次数,把此数字转为标准格式,进行图象处理,并输出成图片,显示。

如果要生成记数图象,需要以下函数:

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

1. 字符串长度函数:int strlen(string str);

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

其中string str 是要计算长度的字符串。

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

2. 字符串相加:

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

如,把 $string1和$string2相加:

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

$string = $string1.$string2

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

3. 新建图像函数:int imagecreate(int x_size, int y_size);

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

其中x_size,y_size分别是新建图像的宽度和高度(以像素为单位)。

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

4. 颜色函数:int imagecolorallocate(int im, int red, int green, int blue);

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

其中int im 是图像识别

展开更多 50%)
分享

猜你喜欢

用PHP生成访客计数器

PHP
用PHP生成访客计数器

用PHP制作动态计数器

PHP
用PHP制作动态计数器

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

php的计数器程序

PHP
php的计数器程序

来个PHP计数器怎样?

PHP
来个PHP计数器怎样?

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

趣味访客计数器设计两则

ASP
趣味访客计数器设计两则

用ASP编写计数器

ASP
用ASP编写计数器

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《植物大战僵尸 花园战争》8职业技能详解

《植物大战僵尸 花园战争》8职业技能详解

《超级英雄》紫卡橙卡最强英雄推荐

《超级英雄》紫卡橙卡最强英雄推荐
下拉加载更多内容 ↓