现在我们所取回的文件已经存放在数组$num_searched中。现在要在数组中查找我们想要的文本"about (.*) pages found. "。(.*)表示在任何东西。而且,如果没有人链接我们的url,altavista将显示"altavista found no document matching your query."。因为我们想知道多少个人正在与我们的url进行着链接,那段文本将被看 作0个人链接。
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");
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) );
$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))<=$duration"); //找出在半个小时内的记录,后面的where子句可有可无--超出时间的已经被删除了 $ccol->next_record() echo "在线人数:", $ccol->f("ccol"); $ccol->free_result();