<?php
/****************************************************
原作者: uchinaboy
修改:lingshidao
特点:无需mysql支持;速度快;无需设置路径,放在哪级目录下,就搜索该目录和子目录;可以搜索一切文本类型的文件;显示文件相关内容;关键词自动高亮显示。
修改内容:增加了自动分页和风格设置文件。
搜索框代码(如果放在search.php相同目录下,无需修改):<form method="post" action="search.php"><input type="text" name="key" size=40 value="">
<input type="submit" value="检索"></form>
****************************************************/
require ("template.php");
echo "<p align=\"center\">";
echo "检索结果";
echo "</p><hr>";
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."<br>";
$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 "<br><br><br>".$newpath."<br><br><br>";
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("/<style>.+<\/style>/is", "", $msg);
$msg = preg_replace("/<[^>]+>/", "", $msg);
$value = preg_match("/.*$key.*/i", $msg, $res);
if($value) {
if($title) {$m = $title;} else {$m = $filename;}
$i++;
上一篇 目录 下一篇 = $newpath;
echo "$i.◆<a href=\"上一篇 目录 下一篇\">$m</a><br><br>";
}
}else {
echo "请输入关键词";
exit;
}
}
function gethtmltitle($msg) {
/* locate where <title> is located in html file. */
$lbound = strpos($msg, '<title>') + 7; //7 is the lengh of <title>.
if ($lbound < 1)
return;
/* locate where </title> is located in html file. */
$ubound = strpos($msg, '</title>', $lbound);
if ($ubound < $lbound)
return;
/* clean html and php tags out of $title with the madness below. */
$title = ereg_replace("[\t\n\r]", '', substr($msg, $lbound, $ubound - $lbound));
$title = trim(strip_tags($title));
if (strlen($title) < 1) //a blank title is worthless.
return;
return $title;
}
$i = get_msg(".");
echo "<hr><p align=\"center\">";
echo " 已经搜索到了 $i 条信息";
?>
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器