Maison développement back-end tutoriel php 两种统计当前在线人数的方法_PHP教程

两种统计当前在线人数的方法_PHP教程

Jul 21, 2016 pm 02:52 PM
et Nombre de personnes 利用 在线 实现 搜索引擎 方法 Oui 检查 de 统计

第一种方法:利用AltaVista搜索引擎来实现
这种方法是检查与你的站点链接的数目。这里用AltaVista搜索引擎来实现。在这里,我们用如下搜索引擎:
http://www.altavista.com/cgi-bin/query?kl=XX&pg=q&text=yes&q=link:&search=Search。
这是AltaVista的一个文本版本。这样可以节省我们大量的需要解析HTML的代码。接着,我们使用rawurlencode()来处理我们确切的URL保证Altavista能够正确地处理它。处理如下:
$url = "http://www.oso.com.cn";
$url_encoded = rawurlencode($url);
$url_to_check = "http://www.altavista.com/cgi-bin/query?
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进行着链接,那段文本将被看
作0个人链接。
$url = "http://www.oso.com.cn";
$url_encoded = rawurlencode($url);
$url_to_check =
"http://www.altavista.com/cgi-bin/query?kl=XX&pg=q&text=yes&q=link:$url_encoded&search=Search";
$num_searched = file($url_to_check);
for ($i = 0; $i if(eregi( "About (.*) pages found.", $num_searched[$i])){
$total_links = eregi_replace( "
About (.*) pages found.", "1", $num_searched[$i]);
}
elseif(eregi( "AltaVista found no document matching your query.",$num_searched[$i])){
$total_links = "0";
}
}
  这样,我们可以通过打印语句得到我们的查找结果了:
print("$total_links people are linking to $url");

第二种方法:利用MYSQL数据库以下是我转贴的一篇文章,来自于PHP中文用户,起方式是利用临时数据表处理当前连接,具体内容如下:
***************************************************************
首先,用MySQL的工具建一个表:
CREATE TABLE ccol(
id integer not null auto_increment, #记录的ID
ip char(15) not null, #访问者的IP地址
dtstamp datetime not null, #最后访问时间
uri char(255), #访问者请求的URI
primary key (id)
);

然后,写一段PHP代码:
/*
文件:ccol.php - ConCurrent OnLine statistics
目的:统计同时在线浏览的人数
作者:Hunte, hunte@phpuser.com
修改:2000-4-25
*/
$duration=1800;
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 (0, "$REMOTE_ADDR", now(), "$REQUEST_URI")");
}

$ccol->query("SELECT COUNT(*) AS ccol FROM ccol WHERE
(UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(dtstamp)) //找出在半个小时内的记录,后面的WHERE子句可有可无--超出时间的已经被删除了
$ccol->next_record()
echo "在线人数:", $ccol->f("ccol");
$ccol->free_result();

怎么用呢?在站点的每个页面的上面调用这个程序.
当然,这段代码还有改进的余地。例如,在每次调用是都要删除半小时前的记录,这是没有必要而且会降低效率。
可以一个什么办法过更长的时间再做,比如6小时。大家自个儿想想吧,我就不说了。
这种方法只要稍做修改,就可以派上别的用处,如SESSION的管理、网站的访问统计分析等。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/371591.htmlTechArticle第一种方法:利用AltaVista搜索引擎来实现 这种方法是检查与你的站点链接的数目。这里用AltaVista搜索引擎来实现。在这里,我们用如下搜索...
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Musée à deux points: toutes les expositions et où les trouver
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Musée à deux points: toutes les expositions et où les trouver
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment écrire un roman dans l'application Tomato Free Novel Partagez le tutoriel sur la façon d'écrire un roman dans l'application Tomato Novel Comment écrire un roman dans l'application Tomato Free Novel Partagez le tutoriel sur la façon d'écrire un roman dans l'application Tomato Novel Mar 28, 2024 pm 12:50 PM

Comment écrire un roman dans l'application Tomato Free Novel Partagez le tutoriel sur la façon d'écrire un roman dans l'application Tomato Novel

Comment récupérer des contacts supprimés sur WeChat (un tutoriel simple vous explique comment récupérer des contacts supprimés) Comment récupérer des contacts supprimés sur WeChat (un tutoriel simple vous explique comment récupérer des contacts supprimés) May 01, 2024 pm 12:01 PM

Comment récupérer des contacts supprimés sur WeChat (un tutoriel simple vous explique comment récupérer des contacts supprimés)

Comment mettre en œuvre la double connexion WeChat sur les téléphones mobiles Huawei ? Comment mettre en œuvre la double connexion WeChat sur les téléphones mobiles Huawei ? Mar 24, 2024 am 11:27 AM

Comment mettre en œuvre la double connexion WeChat sur les téléphones mobiles Huawei ?

Maîtrisez rapidement : comment ouvrir deux comptes WeChat sur les téléphones mobiles Huawei révélé ! Maîtrisez rapidement : comment ouvrir deux comptes WeChat sur les téléphones mobiles Huawei révélé ! Mar 23, 2024 am 10:42 AM

Maîtrisez rapidement : comment ouvrir deux comptes WeChat sur les téléphones mobiles Huawei révélé !

Le secret de l'éclosion des œufs de dragon mobiles est révélé (étape par étape pour vous apprendre à réussir l'éclosion des œufs de dragon mobiles) Le secret de l'éclosion des œufs de dragon mobiles est révélé (étape par étape pour vous apprendre à réussir l'éclosion des œufs de dragon mobiles) May 04, 2024 pm 06:01 PM

Le secret de l'éclosion des œufs de dragon mobiles est révélé (étape par étape pour vous apprendre à réussir l'éclosion des œufs de dragon mobiles)

Comment définir la taille de la police sur le téléphone mobile (ajustez facilement la taille de la police sur le téléphone mobile) Comment définir la taille de la police sur le téléphone mobile (ajustez facilement la taille de la police sur le téléphone mobile) May 07, 2024 pm 03:34 PM

Comment définir la taille de la police sur le téléphone mobile (ajustez facilement la taille de la police sur le téléphone mobile)

La différence entre les méthodes et fonctions du langage Go et l'analyse des scénarios d'application La différence entre les méthodes et fonctions du langage Go et l'analyse des scénarios d'application Apr 04, 2024 am 09:24 AM

La différence entre les méthodes et fonctions du langage Go et l'analyse des scénarios d'application

Comment implémenter la fonction de clonage WeChat sur les téléphones mobiles Huawei Comment implémenter la fonction de clonage WeChat sur les téléphones mobiles Huawei Mar 24, 2024 pm 06:03 PM

Comment implémenter la fonction de clonage WeChat sur les téléphones mobiles Huawei

See all articles