Maison >php教程 >php手册 >网站当前在线人数的实现

网站当前在线人数的实现

WBOY
WBOYoriginal
2016-06-13 10:24:44873parcourir

一个网站最重要的组成部分可能就是与你链接的站点的个数。这个教程将向你显示一个使用AltaVista
搜索引擎来实现的简单方法。
  首先,我们需要准备在脚本中使用的URL 。这个可以使用:
http://www.altavista.com/cgi-bin/query?kl=XX&pg=q&text=yes&q=link%3A&search=Search。
  应该知道这是AltaVista的一个文本版本。这样可以节省我们大量的需要解析HTML的代码。接着,我们
需要确切的URL。我们应该使用rawurlencode()来处理URL保证Altavista能够正确地处理它。


$url = http://www.php.net;
$url_encoded = rawurlencode($url);
$url_to_check = "http://www.altavista.com/cgi-bin/query?
kl=XX&pg=q&text=yes&q=link%3A$url_encoded&search=Search";
?>
  现在我们有了我们需要的全部的URL 。到了我们抓回URL 的时候了。这步工作是通过使用file()函数。

$url = http://www.php.net;
$url_encoded = rawurlencode($url);
$url_to_check = "http://www.altavista.com/cgi-bin/query?
kl=XX&pg=q&text=yes&q=link%3A$url_encoded&search=Search";
$alta_search = file($url_to_check);
?>
  现在我们所抓回的文件已经存放在数组$alta_search中。我们现在要在数组中查找我们想要的文本。我们想要的文本就是"About (.*) pages found. "。(.*)表示在两个单词之间的任何东西。而且,如果没有人链接我们的URL,AltaVista将显示"AltaVista found no document matching your query."。因为我们想知道多少个人正在与我们的URL进行着链接,那段文本将被看作0个人链接。



$url = http://www.php.net;
$url_encoded = rawurlencode($url);
$url_to_check =
"http://www.altavista.com/cgi-bin/query?kl=XX&pg=q&text=yes&q=link%3A$url_encoded&search=Search";
$alta_search = file($url_to_check);
for ($i = 0; $i if(eregi( "About (.*) pages found.", $alta_search[$i])){
$how_many = eregi_replace( "
About (.*) pages found.", "1", $alta_search
[$i]);
}elseif(eregi( "AltaVista found no document matching your query.", $alta_search
[$i])){
$how_many = 0;
}
}
?>
  为了使用上面的处理结果,你可以加入这句代码来打印我们的查找结果:
echo "$how_many people are linking to $url";
Déclaration:
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 précédent:用XML+FSO+JS实现服务器端文件Article suivant:OfficeXP_menu过程版