⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 searchfunct.php

📁 在线网络蜘蛛开源代码
💻 PHP
字号:
<?php

function owssize($owsQuery)
{
	/*aggiunge uno spazio all'inizio e alla fine della query per poter poi fare delle ricerche esatte dei token*/
	$tmpowsQuery=" " . trim($owsQuery) . " " ;
	
	/*cerca se nella query ci sono dei token che fanno pensare che l'utente stia usando funzioni per ricerche avanzate*/
	if(strstr($tmpowsQuery," \"")==FALSE && strstr($tmpowsQuery," +")==FALSE && strstr($tmpowsQuery," -")==FALSE && strstr($tmpowsQuery,"<")==FALSE && strstr($tmpowsQuery,">")==FALSE && strstr($tmpowsQuery,"* ")==FALSE)
	{
		if(strstr($owsQuery," ")==FALSE)
		{
			$tmpowsQuery="\\\"".trim($owsQuery)."\\\"";
			$owsQuery=$tmpowsQuery;
		}
		else
		{
			$tmpowsQuery="+\\\"".trim($owsQuery);
			$owsQuery=str_replace(" ","\\\" +\\\"",$tmpowsQuery);
			$owsQuery.="\\\"";
		}
	}
return $owsQuery;
}

function DrawPages($page,$results,$resultsperpage,$query)
{
$lbound=0;
$rbound=0;

if($page<0)
$page=0;
if($page-10<0) $lbound=0; else $lbound=$page-10;
if($page+10>$results/$resultsperpage)
$rbound=$results/$resultsperpage;
else
$rbound=$page+10;

for($i=$lbound;$i<$rbound;$i++)
{
if($i!=$page)
printf("<font face=\"Arial\"><a href=\"search.php?search=%s&page=%d\">%d</a></font>\r\n",urlencode($query),$i,$i+1);
else
printf("<font face=\"Arial\"><b>%d </b></font>",$i+1);
}
}

function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}

function fSearch($search,$page,$server,$user,$pass,$database,$log,$ResultsPerPage)
{
$my_search=mysql_escape_string($search);

	$connection = mysql_connect($server, $user, $pass);
	if ($connection == FALSE)
		die ("Error 1 [mysql_connect()]: Can't connect to mysql server");
	mysql_select_db($database, $connection)
		or die ("Error 2 [mysql_select_db()]");

	$my_search=mysql_escape_string($search);
	
	if($page=="")
		$page=0;
	
		$start = microtime_float();
			
		$query = "select count(*) from pagelist where match(title,text,page) against(\"".owssize($my_search)."\" in boolean mode) ";
		$result = mysql_query($query, $connection);
		$row = mysql_fetch_array($result);
		$resultsfound=$row[0];
		//echo "<br>Query2: ".$query;
		
		mysql_free_result($result);
		
		if(	$page>$resultsfound/$ResultsPerPage)
			$page=(int)abs($resultsfound/$ResultsPerPage);
	
		$query = "select hostname,page,title,match(title,text,hostname,page) against(\"".owssize($my_search)."\") as relevancy,0 as wrdcount,id,rank, LEFT(text, 400),level  from pagelist where match(title,text,hostname,page) against(\"".owssize($my_search)."\" in boolean mode) order by wrdcount DESC,relevancy DESC,rank DESC limit ".($page*$ResultsPerPage).",".$ResultsPerPage ;
		$result = mysql_query($query, $connection);
		//echo "<br>Query: ".$query;
		
		$endtime = abs(number_format(microtime_float()-$start,3));

?>
 <div align="center"> 
  <table border="0" width="100%" cellspacing="0" cellpadding="0"> 
     <tr> 
      <td style="border: 0px solid ; font-size: 10px; font-family: Verdana;" width="100%" height="3" bgcolor="#99FFCC"> Query:
         <?=htmlspecialchars($search)?> 
         -
         <?=$resultsfound?> 
         results found in
         <?= $endtime ?> 
         seconds </td> 
    </tr> 
   </table> 
</div> 
<?

	while ($row = mysql_fetch_array($result))
	{
		$mText=strtolower(htmlspecialchars($row[7]));
		$count=str_word_count($search);
		$words=str_word_count(strtolower($search),1);
	
		for($i=0;$i<$count;$i++)
		{
			$new_text=str_replace($words[$i],"<strong>".$words[$i]."</strong>", $mText);
			$mText=$new_text;
		}
?> 
<table border="0" width="100%" cellspacing="0" cellpadding="0"> 
  <tr> 
    <td style="border: 0px solid ; font-size: 10px; font-family: Verdana;" width="100%" height="3" bgcolor="#EAFEFF"> <B><a href="http://<? echo"$row[0]$row[1]" ?>"> 
      <?= htmlspecialchars($row[2])?> 
      </a></B> <br> 
      <?= $mText ?> 
      ... <br> 
      <font color="#006600"> 
      <!-- Relevancy:
<?= number_format($row[3],2)?>
  - --> 
      Word found: <? echo"$row[4]"?> - Level: <? echo"$row[8]" ?> - Rank: <? echo"$row[6]" ?> <font face="Arial" size="1"><a href="cache.php?ID=<? echo"$row[5]" ?>">Cache</a></font></font> 
      </p> 
  </tr> 
</table> 
<br> 
<?
	}
	
	echo "<p align=\"center\">";
	DrawPages($page,$resultsfound,$ResultsPerPage,htmlspecialchars($search));
	echo "</p>";
	
	$ip=getenv("REMOTE_ADDR");
	
	if($log==1)
	{
		$var=fopen("query.log","a");
	
		if($var!=NULL)
		{
			$tm=strftime ("%A %d %B %Y %H:%M");
			$log= "$tm\t\t$ip\t\t$search\r\n";
			fwrite($var,$log);
			fclose($var);
		}
	}
	else
	if($log=2)
	{
		$query = "INSERT INTO querylist (query,results,date,time,ipaddr) VALUES('$my_search',$resultsfound,curdate(),curtime(),'$ip')";
		$result = mysql_query($query, $connection);
	}
	
	mysql_close($connection);
}
?> 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -