先来看一个简单的php搜索文件并显示的代码。

如下:

/**

* 搜索文件并列出文件名

* opendir打开目录

* readdir读取文件名

* unlink删除文件

* edit by www.jbxue.com

*/

$dir = "file/class/";

//获取目录下的文件

if (is_dir($dir)) {

if ($dh = opendir($dir)) {

while (($file = readdir($dh)) !== false) {

if($file!="."&&$file!=".."){

$unexit[]=$file;}

}

closedir($dh);

}

}

?>

下面是功能更强,复杂点的。

/**

* 文件: search.php

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

*/

/* 基本函数 */

//获取目录下文件函数

function getFile($dir)

{

$dp = opendir($dir);

$fileArr = array();

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

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

if (is_dir($curFile)) {

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

} else {

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

}

}

}

return $fileArr;

}

//获取文件内容

function getFileContent($file)

{

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

die("Cannot open file $file");

}

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

$fileContent .= $text;

}

return $fileContent;

}

//搜索指定文件

function searchText($file, $keyword)

{

$text = getFileContent($file);

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

return true;

}

return false;

}

//搜索出文章的标题

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

{

$fileContent = getFileContent($file);

$sResult = preg_match("/

.*/i", $fileContent, $matchResult);

$title = preg_replace(array("/(

)/i","/()/i"), "", $matchResult[0]);

if (empty($title)) {

return $default;

} else {

return $title;

}

}

//获取文件描述信息

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

{

$metas = get_meta_tags($file);

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

return $metas['description'];

}

$fileContent = getFileContent($file);

preg_match("/(

)/is", $fileContent, $matchResult);

$pattern = array("/()/i","/()+/i", "/()+/i", "/()+/i",

"/([])+.*([])+/i","/&/i","/"/i","/'/i", "/\s/");

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

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

return $description;

}

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

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

{

$newword = "$keyword";

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

return $text;

}

//获取文件大小(KB)

function getFileSize($file)

{

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

return $filesize;

}

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

function getFileTime($file)

{

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

return $filetime;

}

//搜索目录下所有文件

function searchFile($dir, $keyword)

{

$sFile = getFile($dir);

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

return false;

}

$sResult = array();

foreach ($sFile as $file) {

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

$sResult[] = $file;

}

}

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

return false;

} else {

return $sResult;

}

} //by www.jbxue.com

/* 测试代码 */

//指定要搜索的目录

$dir = "./php_Linux";

//要搜索的关键字

$keyword = "sendmail";

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

$searchSum = count($fileArr);

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



";

if ($searchSum <= 0) {

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

} else {

foreach ($fileArr as $file) {

echo "". highLightKeyword(getFileTitle($file), $keyword) .

" - ".getFileSize($file)." ". getFileTime($file) .

"
\n".highLightKeyword(getFileDescribe($file), $keyword) .

"
";

}

}

?>

php搜索文件名,PHP搜索文件且列出文件名的代码参考相关推荐

  1. python合并路径和文件名,python关于文件路径和文件名的操作

    os.path.abspath(path) #返回绝对路径(包含文件名的全路径) os.path.basename(path) -- 去掉目录路径获取文件名 os.path.dirname(path) ...

  2. python 打印文件名_Python | 打印文件内容以及文件名

    python 打印文件名 打印文件名 (Printing file name ) To print the filename, we use "file_object.name". ...

  3. Windows7内置搜索,同时搜索文件名以及文件里面的内容

    http://www.jb51.net/os/windows/283168.html Windows7内置搜索如何同时搜索文件名与内容 Win7的搜索功能效果非常强大,不但比WinXP快上许多,而且还 ...

  4. Linux Shell重定向 管道命令 grep搜索 awk编程 sed文件操作高阶函数

    在编程中如果能够熟悉shell高阶语法,将对我们进阶为高级程序员有很大的帮助,本文将从Shell重定向 管道命令 awk编程 sed等方面展开介绍. 作者:有勇气的牛排 文章目录 1 shell重定向 ...

  5. 如何使用计算机搜索功能,如何使用Win7搜索功能快速找到文件?

    现在的电脑硬盘动辄500G,电脑文件越来越多,不免有时候忘记了文件的存放位置,慢慢找太浪费时间了.其实查找文件其实也是很有学问的,灵活应用现有的系统工具与软件技巧能起到事半功倍的效果,现在主流的win ...

  6. gorm preload 搜索_macOS系统本地文件搜索工具

    Find Any File Mac可以准确快速地查找本次磁盘甚至是本地隐藏磁盘上的任何文件,Find Any File Mac不使用数据库,而是使用文件系统驱动程序的快速搜索操作,包括能够搜索到通常隐 ...

  7. 搜索目录里所有文件(包括子目录)

    搜索目录里所有文件(包括子目录) 资料来源:http://www.cnblogs.com/jjwwww/archive/2004/09/04/39559.aspx 用到两个函数ParseDirecto ...

  8. php搜索文件名,window_Windows7内置搜索如何同时搜索文件名与内容,  Win7的搜索功能效果非常强 - phpStudy...

    Windows7内置搜索如何同时搜索文件名与内容 Win7的搜索功能效果非常强大,不但比WinXP快上许多,而且还能即输即显.不过我们在平时使用的时候大家会发现,Win7搜索只能搜索目录中的文件名,却 ...

  9. win11如何加快搜索速度 Windows11更改文件索引加快搜索速度的设置方法

    有时候当你急需寻找一份文件的时候,可能查找筛选需要很长时间,但是有什么方法可以加快寻找文件的搜索速度呢?今天小编就为大家带来更改文件索引加快搜索速度的教程.更多Windows11安装步骤可以参考小白一 ...

最新文章

  1. oracle bom层级sql,oracle bom_tree.sql
  2. 获取收藏夹路径的C++代码
  3. 玩游戏计算机缺失msvcp140,玩英雄联盟提示电脑缺少msvcp140.dll怎么办
  4. 前端学习(2761):uni-app样式的学习
  5. uln2003驱动蜂鸣器_让蜂鸣器发声
  6. a1708硬盘转接口_资讯:希捷上架新款银河Exos系列机械硬盘,15000转+SAS协议
  7. 力扣225. 用队列实现栈(JavaScript)
  8. 路由器刷机后无线模块丢失-竞斗云2.0刷机
  9. 虾米音乐的监控体系升级之路
  10. Maxent猛犸反欺诈入选Gartner 2018 Cool Vendors
  11. 职称计算机怎么练,2017职称计算机windows操作训练题
  12. contentType,charset和pageEncoding的区别
  13. C++使用system创建进程
  14. matlab 直流无刷电机,无刷直流电机的matlab仿真.pdf
  15. 周易六十四卦——风火家人卦
  16. IDEA 黄色警告 found duplicated code in this file finds duplicated code
  17. 世界通用闹铃(闹钟铃声)铃声 世界通用闹铃(闹钟铃声)手机铃声...
  18. [创业路程] 从Idea到付诸实践,你必须要知道的…创业草堂系列
  19. ocmt:高维固定效应模型的变量筛选问题
  20. 计算机学算法的意义,浅析算法在计算机编程中的重要作用

热门文章

  1. php写else老是报错,调试PHP错误经常用到的一些
  2. android网络框架
  3. 基于JAVA+SpringMVC+MYSQL的报价管理系统
  4. android简单课表,模仿大神的一个android课程表
  5. 10个实战及面试常用Linux Shell脚本编写
  6. Python下socket通信
  7. Hibernate面试题收藏
  8. [outlook]打开以后就自动进入安全模式的解决方法。Outlook start in safe mode.
  9. HDU 5183 Negative and Positive (NP)
  10. jquery之超简单的div显示和隐藏特效demo