php中目录遍历查找实现代码

 代码如下 复制代码

<?php

function listFiles($path){
$result = array();
foreach(glob($path.'\'."*") as $item){
$result[strtolower($item)] = $item;
if(is_dir($item)){
$result += listFiles($item);
}
}
return $result;
}
$path = 'E:\web\dianle';
foreach(listFiles($path) as $item){
echo $item.'<br />';
}

function listFiles($path){
$result = array();
foreach( scandir($path) as $item ){
if($item != '.' && $item != '..' ){
$item = $path.'\'.$item;
$result[strtolower($item)] = $item;
if(is_dir($item)){
$result += listFiles($item);
}
}
}
return $result;
}
$path = 'E:\web\dianle';
foreach(listFiles($path) as $item){
echo $item.'<br />';
}
?>

 

用到的一个函数

scandir() 函数返回一个数组,其中包含指定路径中的文件和目录。

若成功,则返回一个数组,若失败,则返回 false。如果 directory 不是目录,则返回布尔值 false 并生成一条 E_WARNING 级的错误。

语法

scandir(directory,sort,context)
参数 描述
directory 必需。规定要扫描的目录。
sort 可选。规定排列顺序。默认是 0 (升序)。如果是 1,则为降序。
context 可选。规定目录句柄的环境。context 是可修改目录流的行为的一套选项

 

现在看另一个函数

glob() 函数返回匹配指定模式的文件名或目录。

该函数返回一个包含有匹配文件 / 目录的数组。如果出错返回 false。

语法

glob(pattern,flags)
参数 描述
file 必需。规定检索模式。
size
可选。规定特殊的设定。

  • GLOB_MARK - 在每个返回的项目中加一个斜线
  • GLOB_NOSORT - 按照文件在目录中出现的原始顺序返回(不排序)
  • GLOB_NOCHECK - 如果没有文件匹配则返回用于搜索的模式
  • GLOB_NOESCAPE - 反斜线不转义元字符
  • GLOB_BRACE - 扩充 {a,b,c} 来匹配 'a','b' 或 'c'
  • GLOB_ONLYDIR - 仅返回与模式匹配的目录项
  • GLOB_ERR - 停止并读取错误信息(比如说不可读的目录),默认的情况下忽略所有错误

注释:GLOB_ERR 是 PHP 5.1 添加的

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数组
, 文件
, 函数
, 代码
, 错误
模式
find 遍历目录查找、图的遍历算法代码实现、用vba代码实现查找、哈希表查找的实现代码、用宏代码实现查找替换,以便于您获取更多的相关知识。

时间: 2024-10-24 22:07:45

php中目录遍历查找实现代码的相关文章

《高阶Perl》——1.5 目录遍历的应用和变化

1.5 目录遍历的应用和变化 有一个遍历目录树的函数是有用的,可以将其应用于所有情况.例如,如果想要写一个像Unix的ls -R命令一样工作的递归的文件列出命令,将需要遍历目录树.可以期望函数的行为更像Unix的du命令,列出它找到的所有子目录的总大小以及所有文件的总大小.也可以期望函数搜索悬空符号链接,即指向不存在的文件的链接.在Perl新闻组和IRC频道中经常被问的一个问题是,怎样遍历一棵目录树并为每个文件重命名或对每个文件执行一些别的操作. 可以写许多不同的函数完成这些任务,每个有一点点不

PHP中的目录遍历细说教程

HP学习教程文章简介: Php中的目录遍历细说教程 在编写php应用的过程当中,对指定目录的遍历.文件的筛选是在所难免也是至关重要 的,PHP本身提供了解析和读取目录的强大方法.牢牢掌握这些方法是每一个phper所   Php中的目录遍历细说教程 在编写php应用的过程当中,对指定目录的遍历.文件的筛选是在所难免也是至关重要 的,PHP本身提供了解析和读取目录的强大方法.牢牢掌握这些方法是每一个phper所必须的.本文将对几个重要方法总结和归纳,笔者经验尚浅,如有错误 和疏漏希望网友们加以指正,

浅析PHP程序中的目录遍历漏洞

目录遍历漏洞在国内外有许多不同的叫法,比如也可以叫做信息泄露漏洞,非授权文件包含漏洞.名称虽然多,可他们却有一个共同的成因,就是在程序中没有过滤用户输入的../和./之类的目录跳转符,导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件,其危害可想而知.这类漏洞大家比较熟悉的可能就是在一些邮件列表程序以及网络硬盘程序中,其实这类漏洞还广泛存在与一些国外的BLOG程序中,这类漏洞大概分两种下面就来通过实例来说明这类漏洞是如何产生以及该如何防范. 首先,我们来看一个国外的BLOG,前几天从网上下

php+jquery实现无限级目录遍历展示代码

遍历出来的效果如下 程序代码 index.php 里面的jquery文件大家可百度下载一个,因为这是用来实现一个效果的  代码如下 复制代码 <script src="jquery/jquery-1.3.1.js" type="text/javascript"></script> <style type="text/css"> body {font: normal 12px arial, tahoma, hel

Lua中遍历文件操作代码实例

  这篇文章主要介绍了Lua中遍历文件操作代码实例,本文直接给出示例代码,需要的朋友可以参考下 写的一个关于遍历文件的程序段 记录一下咯 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 --[[检查所有.txt文件 比如A.txt中第一行规定有20列,但是在X行中多输入一个Tab,则输出:A表的X行填写不规范,行末有多余填写 ]]   getinfo = io.popen('dir .

知道二叉树的后序遍历和中序遍历求深度的代码那有错?

问题描述 知道二叉树的后序遍历和中序遍历求深度的代码那有错? #include #include #include char zhongxu[100]; char houxu[100]; struct node { char data; struct node *l,*r; }*T,*TT; int treedepth(struct node *TT) { int i,j; if(!TT) return 0; i=treedepth(TT->l); j=treedepth(TT->r); re

php中检查文件或目录是否存在的代码小结_php技巧

下面是一个简单的检查文件是否存在的实例代码: 复制代码 代码如下: <?php $filename = '/path/to/foo.txt'; if (file_exists($filename)) { echo "The file $filename exists"; } else { echo "The file $filename does not exist"; } ?> 如果文件存在,执行该 PHP 文件的显示结果是: The file C:b

js中查找对象代码

对象的分类 所谓对象查找,即在一段可执行代码的作用域内,找到一个当前需要的对象.在网页特效中,需要进行查找的对象大致可以分为3种类型: 变量查找,如foo++;,这里就会去查找一个叫作foo的变量. 属性查找,如foo.bar++;,这里会去查找foo这个变量下的一个叫作bar的属性. this查找,即针对this关键字的处理. 区分这3种类型的对象查找是首先要完成的任务,你可以基于以下原则进行判断: 变量仅由变量名组成,即单独的foo.bar等. 属性永远由2种形式去访问,即foo.bar和f

Search File Contents PHP 搜索目录文本内容的代码_php技巧

这个类可以用来搜索在给定的文本目录中的文件. 它可以给定目录遍历递归查找某些文件扩展名的文件. 并打开找到的文件,并检查他们是否包含搜索词语. 它返回一个含有所有文件的列表包含搜索词语数组. 复制代码 代码如下: <?php /* Class for searching the contents of all the files in a directory and its subdirectories For support please visit http://www.webdigity.