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

网站当前在线人数的实现

WBOY
WBOYOriginal
2016-06-13 10:24:44869browse

一个网站最重要的组成部分可能就是与你链接的站点的个数。这个教程将向你显示一个使用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";
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn