首页 > 编程技术 > php

php图片统计器

发布时间:2016-11-25 15:55

这个网页图片统计器的原理很简单就是把我们保存到txt中的文本读出来再做成相对就的图片数字,这样就可以做成网页图片统计器了。

<HTML>
<HEAD>
<TITLE>图形页面计数器范例</TITLE>
</HEAD>

<BODY>

<?PHP

$

 代码如下 复制代码

countfile = "num.txt";
//定义计数器写入的文件是当前目录下count.txt,然后我们应当测试该文件能否打开
if (($fp = fopen($countfile, "r+")) == false) { //用读写模式打开文件,若不能打开就退出
 printf ("打开文件 %s 失败!",$countfile);
 exit;
}
else
{
 //如果文件能够正常打开,就读入文件中的数据,假设是1
 $count = fread ($fp,10);
 //读取10位数据
 $count = $count + 1;

 fclose ($fp);
 //关闭当前文件
 $fp = fopen($countfile, "w+");
 //以覆盖模式打开文件
 fwrite ($fp,$count);
 //写入加1后的新数据
 fclose ($fp);
 //并关闭文件
}

//$count转换为图片模式的代码

 $fp = fopen ($countfile, "r"); //以只读模式打开文件
 $array_count = 1; //定义一个表示数组元素位置的变量,下面要用
 while (! feof($fp)) {
  $current_number = fgetc($fp);
  $counter_array[$array_count] = $current_number;
  $array_elements = count ($counter_array);
  $array_count = $array_count + 1;
 }
 //显示代码
 echo ("<table border="0" height="5" align="left"><tr><td  align="center">欢迎您,第");

 for ($array_id = 1;$array_id < $array_elements; ++ $array_id) {
  echo ("<img" width=100% src="./img/$counter_array[$array_id].gif" align=absmiddle>");
 }

 echo ("位客人</td></tr></table>");
 

?>

</BODY>
</HTML>

 

//定义输出为图像类型
$n=10;
//变量$n是显示位数

//利用上面的方法,取得访问人数并赋值给变量$str1 (程序略)
$str1=$count;
$str2 = "";
//位数如果不够$n位,在前面补0
$len1 = strlen($str1);
for ($i=1;$i<=$n;$i++) {
$str2 = "0".$str2;
};
//得到$n位0
$len2 = strlen($str2);
//计算访问人数的位数
$dif = $len2 - $len1;
$rest = substr($str2, 0, $dif);
$string = $rest.$str1;
//位数如果不够$n位,在前面补0
for ($i=0;$i<=$n-1;$i++) {
$str[$i]=substr($string,$i,1);
};
//以数组存储每位数字
$font = 4;
//定义字号
$im = imagecreate($n*11-1,16);
//新建图象
$black = ImageColorAllocate($im, 0,0,0);
$white = ImageColorAllocate($im, 255,255,255);
//定义颜色
imagefill($im, 0,0,$black);
//把计数器的底色设置成黑色
ImageString($im,$font,1,0,$str[0],$white);
for ($i=1;$i<=$n-1;$i++) {
imageline($im, $i*11-1,0,$i*11-1,16, $white);
ImageString($im,$font,$i*11+1,0,$str[$i],$white);
};
//将每位写入图象,并以竖线分隔
ImageGif($im);
//图象输出
ImageDestroy($im);
//释放图象

这是一个php 利用txt文件统计网页浏览次数 js调用方法哦,就是用javascript调用php 文件并且php文件用js输出的格式来处理哦。
 代码如下 复制代码

<?PHP

$countfile = "num.txt";
//定义计数器写入的文件是当前目录下count.txt,然后我们应当测试该文件能否打开
if (($fp = fopen($countfile, "r+")) == false) { //用读写模式打开文件,若不能打开就退出
 printf ("打开文件 %s 失败!",$countfile);
 exit;
}
else
{
 //如果文件能够正常打开,就读入文件中的数据,假设是1
 $count = fread ($fp,10);
 //读取10位数据
 $count = $count + 1;

 fclose ($fp);
 //关闭当前文件
 $fp = fopen($countfile, "w+");
 //以覆盖模式打开文件
 fwrite ($fp,$count);
 //写入加1后的新数据
 fclose ($fp);
 //并关闭文件
 

    echo "    document.write("".$count."") ";
    //用javascript形式输出数据


}
?>

htmljs调用方法

 代码如下 复制代码

<HTML>
<HEAD>
<TITLE>页面分离计数器范例</TITLE>
</HEAD>

<BODY>
您好,您是第
<SCRIPT LANGUAGE="JavaScript"" width=100% src="FileCount.php">
//引用时注意php计数器所在的服务器及目录路径。
</SCRIPT>
位访客
</BODY>
</HTML>

<HTML>
<HEAD>
<TITLE>基于文件系统的页面计数器范例</TITLE>
</HEAD>

<BODY>

 代码如下 复制代码

<?PHP

$countfile = "num.txt";
//定义计数器写入的文件是当前目录下count.txt,然后我们应当测试该文件能否打开
if (($fp = fopen($countfile, "r+")) == false) { //用读写模式打开文件,若不能打开就退出
 printf ("打开文件 %s 失败!",$countfile);
 exit;
}
else
{
 //如果文件能够正常打开,就读入文件中的数据,假设是1
 $count = fread ($fp,10);
 //读取10位数据
 $count = $count + 1;

 fclose ($fp);
 //关闭当前文件
 $fp = fopen($countfile, "w+");
 //以覆盖模式打开文件
 fwrite ($fp,$count);
 //写入加1后的新数据
 fclose ($fp);
 //并关闭文件
 echo '您好,您是第'. $count.'位访客';
}
?>

</BODY>
</HTML>

php的画图php_gd2.dll库的,首先要启用这个模块的功能。就是把php.ini中php_gd2.dll前面的注释去掉就好了。

 <?php
session_start();
//生成验证码图片
Header("Content-type: image/PNG");
$im = imagecreate(44,18); // 画一张指定宽高的图片
$back = ImageColorAllocate($im, 245,245,245); // 定义背景颜色
imagefill($im,0,0,$back); //把背景颜色填充到刚刚画出来的图片中
$vcodes = "";
srand((double)microtime()*1000000);
//生成4位数字
for($i=0;$i<4;$i++){
$font = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255)); // 生成随机颜色
$authnum=rand(1,9);
$vcodes.=$authnum;
imagestring($im, 5, 2+$i*10, 1, $authnum, $font);
}
$_SESSION['VCODE'] = $vcodes;
for($i=0;$i<100;$i++) //加入干扰象素
{
$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im, rand()%70 , rand()%30 , $randcolor); // 画像素点函数
}
ImagePNG($im);
ImageDestroy($im);

?>

标签:[!--infotagslink--]

您可能感兴趣的文章: