程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 網站當前在線人數的實現

網站當前在線人數的實現

編輯:關於PHP編程

一個網站最重要的組成部分可能就是與你鏈接的站點的個數。這個教程將向你顯示一個使用AltaVista
搜索引擎來實現的簡單方法。
  首先,我們需要准備在腳本中使用的URL 。這個可以使用:
http://www.altavista.com/cgi-bin/query?kl=XX&pg=q&text=yes&q=link%3A<待查的URL>&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 < count($alta_search); $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";

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved