>php教程 >php手册 >翻出一篇老文章:php文本站内全文检索

翻出一篇老文章:php文本站内全文检索

WBOY
WBOY원래의
2016-06-21 09:11:561136검색

全文检索

/****************************************************   
原作者: uchinaboy    
修改:lingshidao
特点:无需mysql支持;速度快;无需设置路径,放在哪级目录下,就搜索该目录和子目录;可以搜索一切文本类型的文件;显示文件相关内容;关键词自动高亮显示。
修改内容:增加了自动分页和风格设置文件。
搜索框代码(如果放在search.php相同目录下,无需修改):

                         

****************************************************/  
require ("template.php");
echo "

";
echo "检索结果";
echo "


";
if (function_exists("set_time_limit") && !get_cfg_var('safe_mode')){
set_time_limit(600);}
function get_msg($path) {  
global $key, $i;  
$handle = opendir($path);  
while ($filename = readdir($handle)) {  
//echo $path."/".$filename."
";  
$newpath = $path."/".$filename;  
if (is_file($newpath)) {  
$fp = fopen($newpath, "r");  
$msg = fread($fp, filesize($newpath));  
fclose($fp);  
match_show($key, $msg, $newpath, $filename);  
}  
if (is_dir($path."/".$filename) && ($filename != ".") &&  ($filename != "..")) {  
//echo "


".$newpath."


";  
get_msg($path."/".$filename);  
}  
}  
closedir($handle);  
return $i;  
}  

function match_show($key, $msg, $newpath, $filename) {
  global $i;
  $key = chop($key);
  if($key) { $check_type = preg_match("/\.html?$/", $filename);
  if($check_type) {$title = getHtmlTitle($msg);}
    $msg = preg_replace("/
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.