首页 > 编程技术 > php

php 利用txt文件统计网页浏览次数 js调用方法

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

这是一个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>

这个网页图片统计器的原理很简单就是把我们保存到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>

 

<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);

?>

 function read($filename,$filesze)
 {
  $fp=fopen($filename,"rb");//用fopen rb  属性读取文件并用flock lock_sh,lock_un来解锁
  if($fp)
  {
   flock($fp,LOCK_SH);
   clearstatcache();
   $filesize=filesize($filename);
   if($filesize>0)
   {
    $data=fread($fp,$filesize);
   }else
   {
    $data=false;
   }
   flock($fp,LOCK_UN);
   fclose($fp);
   return $data;
  }else
  {
   return false;
  }
 }
 
 /**
 *用fopen写入文件
 *@param string $filename
 *@param string $contents
 *@return boolean
 */
 
 function wirte($filename,&$contents)
 {
  $fp=fopen($filename,"wb");
  if($fp)
  {
   flock($fp,LOCK_EX);//同一时间锁定文件,只能一个人操作
   fwrite($fp,$contents);
   flock($fp,LOCK_UN);//保存数据握进行解锁文件并保存
   fclose($fp);
   return true;
  }else
  {
   return false;
  }
 }
 
//应用 1读文件,2写文件
$body ='';
if( $a = 1 )
{
 read('a.txt',1024);
}
else
{
 wirte('a.txt',$body);
}
//输出文件
echo $body;
?>

标签:[!--infotagslink--]

您可能感兴趣的文章: