知识大全 两种统计当前在线人数的方法
Posted 知
篇首语:一卷旌收千骑虏,万全身出百重围。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 两种统计当前在线人数的方法相关的知识,希望对你有一定的参考价值。
第一种方法 利用AltaVista搜索引擎来实现 这种方法是检查与你的站点链接的数目 这里用AltaVista搜索引擎来实现 在这里 我们用如下搜索引擎 :&search=Search 这是AltaVista的一个文本版本 这样可以节省我们大量的需要解析HTML的代码 接着 我们使用rawurlencode()来处理我们确切的URL保证Altavista能够正确地处理它 处理如下 $url = " $url_encoded = rawurlencode($url); $url_to_check = " kl=XX&pg=q&text=yes&q=link:$url_encoded&search=Search"; 这样 我们可以通过file()函数回取URL了 $num_searched = file($url_to_check); 现在我们所取回的文件已经存放在数组$num_searched中 现在要在数组中查找我们想要的文本"About ( *) pages found " ( *)表示在任何东西 而且 如果没有人链接我们的URL AltaVista将显示"AltaVista found no document matching your query " 因为我们想知道多少个人正在与我们的URL进行着链接 那段文本将被看 作 个人链接 $url = " $url_encoded = rawurlencode($url); $url_to_check = ":$url_encoded&search=Search"; $num_searched = file($url_to_check); for ($i = ; $i < count($num_searched); $i ) if(eregi( "About ( *) pages found " $num_searched[$i])) $total_links = eregi_replace( " About ( *) pages found " " " $num_searched[$i]); elseif(eregi( "AltaVista found no document matching your query " $num_searched[$i])) $total_links = " "; 这样 我们可以通过打印语句得到我们的查找结果了 print("$total_links people are linking to $url");
第二种方法 利用MYSQL数据库以下是我转贴的一篇文章 来自于PHP中文用户 起方式是利用临时数据表处理当前连接 具体内容如下 *************************************************************** 首先 用MySQL的工具建一个表 CREATE TABLE ccol( id integer not null auto_increment #记录的ID ip char( ) not null #访问者的IP地址 dtstamp datetime not null #最后访问时间 uri char( ) #访问者请求的URI primary key (id) );
然后 写一段PHP代码 /* 文件:ccol php ConCurrent OnLine statistics 目的:统计同时在线浏览的人数 作者:Hunte hunte@phpuser 修改: */ $duration= ; require "db php"; //包含DBSQL 详情可以参考我的另一篇文章 $ccol=new dbSQL; $ccol >connect(); $ccol >query("DELETE FROM ccol WHERE (UNIX_TIMESTAMP(NOW()) UNIX_TIMESTAMP(dtstamp))>$duration"); //删除超过半小时的记录 $ccol >query("SELECT * FROM ccol WHERE ip="$REMOTE_ADDR""); //判断当前的IP是否在该表中存在 if ($ccol >nf()) $ccol >next_record();//下移找到的记录数组的指针 $id=$ccol >f("id"); $ccol >query("UPDATE ccol SET dtstamp=now() uri="$REQUEST_URI" WHERE id=$id"); //设置最后访问时间和访问页面 else $ccol >query("INSERT INTO ccol VALUES ( "$REMOTE_ADDR" now() "$REQUEST_URI")");
$ccol >query("SELECT COUNT(*) AS ccol FROM ccol WHERE (UNIX_TIMESTAMP(NOW()) UNIX_TIMESTAMP(dtstamp))<=$duration"); //找出在半个小时内的记录 后面的WHERE子句可有可无 超出时间的已经被删除了 $ccol >next_record() echo "在线人数 " $ccol >f("ccol"); $ccol >free_result();
cha138/Article/program/PHP/201311/21256相关参考
防止重复在线统计在线人数通常由三种办法:通过数据库的记录使用ServletContext类型的application采用session第一种做法较简单但会给数据库造成负担第二种做法还没去实现:)本
知识大全 HttpSessionListener实现统计在线人数
HttpSessionListener实现统计在线人数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
首先写个类: importjavaxservlet*; importjavaxservlet*; publicclassSessionCounterimplementsHttpSession
cha138/Article/program/Java/Javascript/201311/25508
最普通的方法是用SESSION但缺点是无法即时反应在线情况(有超时时间)和占用服务器资源(如果有人在线就有个SESSION想想看)上次(好象间隔很久了耶)介绍了一种采用APPLICATION+COOK
只要复制代码表中到一个文本文件并将其保存在主目录中的网站(“/Globalasa中”) <SCRIPTLANGUAGE="VBScript"RUNAT="Server"> SubA
Globalasa中是一个文本文件中找到您的主目录(/Globalasa中)娄显示的基本extructure一个globalasa文件 globalasa<SCRIPTLANGUAGE="
cha138/Article/program/net/201311/14035
excel中怎么利用公式统计人数统计所有人数:=COUNTA(统计范围)。统计某个人:=COUNTIF(统计范围,姓名)。EXCEL公式是EXCEL工作表中进行数值计算的等式。公式输入是以"="开始的
ASP.NET中在线用户统计 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 统计在线用户的作用不