php查找文件内容关键字实例代码

    1. 创新互联专注于网站建设,为客户提供成都做网站、成都网站建设、网页设计开发服务,多年建网站服务经验,各类网站都可以开发,成都品牌网站建设,公司官网,公司展示网站,网站设计,建网站费用,建网站多少钱,价格优惠,收费合理。

    2. /**

    3. * 文件: search.php

    4. * 功能: 搜索指定目录下的HTML文件

    5. */

    6. /* 基本函数 */

    7. //获取目录下文件函数

    8. function getFile($dir)

    9. {

    10.         $dp = opendir($dir);

    11.         $fileArr = array();

    12.         while (!false == $curFile = readdir($dp)) {

    13.                 if ($curFile!="." && $curFile!=".." && $curFile!="") {

    14.                         if (is_dir($curFile)) {

    15.                                 $fileArr = getFile($dir."/".$curFile);

    16.                         } else {

    17.                                 $fileArr[] = $dir."/".$curFile;

    18.                         }

    19.                 }

    20.          }

    21.         return $fileArr;

    22. }

    23. //获取文件内容

    24. function getFileContent($file)

    25. {

    26.         if (!$fp = fopen($file, "r")) {

    27.                 die("Cannot open file $file");

    28.         }

    29.         while ($text = fread($fp, 4096)) {

    30.                 $fileContent .= $text;

    31.         }

    32.         return $fileContent;

    33. }

    34. //搜索指定文件

    35. function searchText($file, $keyword)

    36. {

    37.         $text = getFileContent($file);

    38.         if (preg_match("/$keyword/i", $text)) {

    39.                 return true;

    40.         }

    41.         return false;

    42. }

    43. //搜索出文章的标题

    44. function getFileTitle($file, $default="None subject")

    45. {

    46.         $fileContent = getFileContent($file);

    47.         $sResult = preg_match("/.*/i", $fileContent, $matchResult);

    48.         $title = preg_replace(array("/()/i","/()/i"), "",        $matchResult[0]);

    49.         if (empty($title)) {

    50.                 return $default;

    51.         } else {

    52.                 return $title;

    53.         }

    54. }

    55. //获取文件描述信息

    56. function getFileDescribe($file,$length=200, $default="None describe")

    57. {

    58.         $metas = get_meta_tags($file);

    59.         if ($meta[description] != "") {

    60.                 return $metas[description];

    61.         }

    62.          $fileContent = getFileContent($file);

    63.         preg_match("/()/is", $fileContent, $matchResult);

    64.         $pattern = array("/(<[^x80-xff] >)/i","/() /i", "/() /i", "/() /i", "/([]) .*([]) /i","/&/i","/"/i","/'/i", "/s/");

    65.         $description = preg_replace($pattern, "", $matchResult[0]);

    66.         $description = mb_substr($description, 0, $length)." ...";

    67.         return $description;

    68. }

    69. //加亮搜索结果中的关键字

    70. function highLightKeyword($text, $keyword, $color="#C60A00")

    71. {

    72.         $newword = "$keyword";

    73.         $text = str_replace($keyword, $newword, $text);

    74.         return $text;

    75. }

    76. //获取文件大小(KB)

    77. function getFileSize($file)

    78. {

    79.         $filesize = intval(filesize($file)/1024)."K";

    80.         return $filesize;

    81. }

    82. //获取文件最后修改的时间

    83. function getFileTime($file)

    84. {

    85.         $filetime = date("Y-m-d", filemtime($file));

    86.         return $filetime;

    87. }

    88. //搜索目录下所有文件

    89. function searchFile($dir, $keyword)

    90. {

    91.         $sFile = getFile($dir);

    92.         if (count($sFile) <= 0) {

    93.                 return false;

    94.         }

    95.         $sResult = array();

    96.         foreach ($sFile as $file) {

    97.                 if (searchText($file, $keyword)) {

    98.                         $sResult[] = $file;

    99.                 }

    100.         }

    101.         if (count($sResult) <= 0) {

    102.                 return false;

    103.         } else {

    104.                 return $sResult;

    105.         }

    106. }

    107. /* 测试代码 */

    108. //指定要搜索的目录

    109. $dir = "./php_Linux";

    110. //要搜索的关键字

    111. $keyword = "sendmail";

    112. $fileArr = searchFile($dir, $keyword);

    113. $searchSum = count($fileArr);

    114. echo "搜索关键字: $keyword   搜索目录: $dir   搜索结果: $searchSum



      ";

    115. if ($searchSum <= 0) {

    116. echo "没有搜索到任何结果";

    117. } else {

    118. for


分享标题:php查找文件内容关键字实例代码
当前网址:http://pwwzsj.com/article/ipsoso.html