搜索php代码,PHP文件搜索程序代码_PHP教程

文件搜索就是利用php遍历目录然后去一个个文件获取文件名进行对比,然后查找到我们指定文件时就停止遍历并显示要搜索的文件名与地址即可。

今天要做一个专门用于处理搜索文件的功能,而搜索的文件可能是位于某个目录下的,寻找目录下是否存在该目录,PHP函数当中好像没有专门这样的搜索函数。

文件的操作在 php 中是不可缺少的,而文件的使用频率也是非常高的,比如我们常见的目录管理系统,无数据库留言本等,都用到了文件的操作,而这里的文件指的不仅仅是目录的操作,还有指定文件的操作,比如 txt 文件等。

下面是一个专门用于文件搜索的函数方法,file_search 是方法名,后面有三个参数,$directory 是要搜索的文件所在的目录,比如 “admin/”目录下, $search 是搜索的文件了,$recursive 是判断是否搜索成功的,默认就可以了,如果还需要其它操作,可以在后面进行添加相应参数即可。

例1

代码如下

复制代码

function file_search($directory, $search, $recursive = TRUE)

{

$res = FALSE;

$dir_handle = opendir($directory);

while( FALSE !== ($file = readdir($dir_handle)) )

{

if( $file == '.' || $file == '..' )

{

continue;

}

if( is_dir("$directory\$file") )

{

if( $recursive )

{

$res = file_search("$directory\$file", $search);

if( $res !== FALSE )

{

return $res;

}

}

}

if( $file == $search )

{

return "$directory\$file";

}

}

return FALSE;

}

?>

例2

代码如下

复制代码

}

//test:

findfile ('..',true,'芙蓉jj',array('templates_c','admin','xixi')) ;

?>

例3

使用php glob函数查找文件,遍历文件目录

函数说明:array glob ( string $pattern [, int $flags ] )

功能:寻找与模式匹配的文件路径,返回包含匹配文件(目录)的数组(注:被检查的文件必须是服务器系统的,不能用于远程文件)

参数说明:第一个参数:匹配模式;第二个可选参数:

•GLOB_MARK - 在每个返回的项目中加一个斜线

•GLOB_NOSORT - 按照文件在目录中出现的原始顺序返回(不排序)

•GLOB_NOCHECK - 如果没有文件匹配则返回用于搜索的模式

•GLOB_NOESCAPE - 反斜线不转义元字符

•GLOB_BRACE - 扩充 {a,b,c} 来匹配 'a','b' 或 'c'

•GLOB_ONLYDIR - 仅返回与模式匹配的目录项

代码如下

复制代码

$file = glob('{,.}*', GLOB_BRACE); //匹配所有文件

$file1 = glob('*.php'); //匹配所有php文件

print_r($file1);

例4

代码如下

复制代码

print_r(listDir('./')); //遍历当前目录

function listDir($dir){

$dir .= substr($dir, -1) == '/' ? '' : '/';

$dirInfo = array();

foreach (glob($dir.'*') as $v) {

$dirInfo[] = $v;

if(is_dir($v)){

$dirInfo = array_merge($dirInfo, listDir($v));

}

}

return $dirInfo;

}

http://www.bkjia.com/PHPjc/632907.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/632907.htmlTechArticle文件搜索就是利用php遍历目录然后去一个个文件获取文件名进行对比,然后查找到我们指定文件时就停止遍历并显示要搜索的文件名与地址...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值