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

    1. <?php
    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("/<title>.*</title>/i", $fileContent, $matchResult);
    48. $title = preg_replace(array("/(<title>)/i","/(</title>)/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("/(<body.*</body>)/is", $fileContent, $matchResult);
    64. $pattern = array("/(<[^x80-xff] >)/i","/(<input.*>) /i", "/(<a.*>) /i", "/(<img.*>) /i", "/([<script.*>]) .*([</script>]) /i","/&amp;/i","/&quot;/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 = "<font color=$color>$keyword</font>";
    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 "搜索关键字: <b>$keyword</b> &nbsp; 搜索目录: <b>$dir</b> &nbsp; 搜索结果: <b>$searchSum</b><br><hr size=1><br>";
    115. if ($searchSum <= 0) {
    116. echo "没有搜索到任何结果";
    117. } else {
    118. for
时间: 2024-10-29 19:07:02

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

python 查找文件内容

输入查找的文件夹路径,要查找的内容关键字(可以指定多个),要查找的文件类型(可以是多个),搜索出符合条件的文件,并记录所有符合条件的行号及行内容. 写的感觉有点冗余,但好歹还能使用^-^,主要是方便手头工作. # coding:utf8 import os from os.path import * # enter the search dir print r"""Search file tool(Ver1.0) dirpath /k keywords [/e fileext

Linux里如何查找文件内容

Linux查找文件内容的常用命令方法. 从文件内容查找匹配指定字符串的行: $ grep "被查找的字符串" 文件名例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件grep "thermcontact" */*.in 从文件内容查找与正则表达式匹配的行:$ grep –e “正则表达式” 文件名 查找时不区分大小写:$ grep –i "被查找的字符串" 文件名 查找匹配的行数:$ grep -c "被查找的字符串&quo

【转】Linux里如何查找文件内容

原文网址:http://blog.chinaunix.net/uid-25266990-id-199887.html Linux查找文件内容的常用命令方法. 从文件内容查找匹配指定字符串的行: $ grep "被查找的字符串" 文件名例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件grep "thermcontact" */*.in 从文件内容查找与正则表达式匹配的行:$ grep –e “正则表达式” 文件名 查找时不区分大小写:$ grep –i

python自定义查找文件内容

#!/usr/bin/env python#coding:utf8#此脚本为查找递归目录下所有文件匹配的内容 import os,sys,tab def paths(path):        list_path=os.walk(path)        all_file=[]        for p,d,fl in list_path:                for f in fl:                        pfile=os.path.join(p,f)    

Linux里如何查找文件内容 (转)

Linux查找文件内容的常用命令方法. 从文件内容查找匹配指定字符串的行: $ grep "被查找的字符串" 文件名例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件grep "thermcontact" */*.in 从文件内容查找与正则表达式匹配的行:$ grep –e “正则表达式” 文件名 查找时不区分大小写:$ grep –i "被查找的字符串" 文件名 查找匹配的行数:$ grep -c "被查找的字符串&quo

[转] Linux 查找文件内容

Linux查找文件内容的常用命令方法. 从文件内容查找匹配指定字符串的行: $ grep "被查找的字符串" 文件名例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件grep "thermcontact" */*.in 从文件内容查找与正则表达式匹配的行:$ grep –e "正则表达式" 文件名 查找时不区分大小写:$ grep –i "被查找的字符串" 文件名 查找匹配的行数:$ grep -c "被

Linux查找文件内容小技巧

目录 grep ag linux系统查找文件内容最常见的命令有grep和ag grep grep是比较常见的查找命令 # 在当前目录的py文件里查找所有相关内容 grep -a "broadcast" *.py # 在当前目录及子目录里(递归)查找,最后一个参数可以换成指定目录 grep -r "broadcast" . # 在指定目录及子目录里(递归)查找,不区分大小写 grep -r -i "broadcast" /src ag 相比grep

linux用grep查找文件内容

从文件内容查找匹配指定字符串的行: $ grep "被查找的字符串" 文件名 从文件内容查找与正则表达式匹配的行: $ grep –e “正则表达式” 文件名 查找时不区分大小写: $ grep –i "被查找的字符串" 文件名 查找匹配的行数: $ grep -c "被查找的字符串" 文件名 从文件内容查找不匹配指定字符串的行: $ grep –v "被查找的字符串" 文件名 从根目录开始查找所有扩展名为.xml的文本文件,

[Linux] 查找文件内容 grep

1. 在某文件中查找grep "xxx" filename另外,加上-n参数表示显示行数grep -n "xxx" filename 2. 在多个文件中查找grep "xxx" filename1 filename2 filename3 ...或者grep "xxx" *.py 3. 在文件夹中递归地查找 grep -r "xxx" directory_name例如在当前文件夹下查找grep -r &quo