php递归获取目录内文件(包含子目录)封装类分享
代码如下:
function readFileFromDir($dir) {
if (!is_dir($dir)) {
return false;
}
//打开目录
$handle = opendir($dir);
while (($file = readdir($handle)) !== false) {
//排除掉当前目录和上一个目录
if ($file == "." || $file == "..") {
continue;
}
$file = $dir . DIRECTORY_SEPARATOR . $file;
//如果是文件就打印出来,否则递归调用
if (is_file($file)) {
print $file . '<br />';
} elseif (is_dir($file)) {
readFileFromDir($file);
}
}
}
调用方式:
$dir = '/home/www/test';
readFileFromDir($dir);
查看php手册的话,还有一个方法scandir也可以使用,不过这个方法会一次性获取单级目录下的所有文件,存放到数组里,如果目录里的文件比较多的话,会卡。
相关推荐
-
PHP不用递归遍历目录下所有文件的代码
实现代码: /** * PHP 非递归实现查询该目录下所有文件 * @param unknown $dir * @return multitype:|multitype:string */ function scanfiles($dir) { if (! is_dir ( $dir )) return array (); // 兼容各操作系统 $dir = rtrim ( str_replace ( '\\', '/', $dir ), '/' ) . '/'; // 栈,默认值为传入的目录 $
-
php递归法读取目录及文件的方法
本文实例讲述了php递归法读取目录及文件的方法.分享给大家供大家参考.具体如下: 这里实例分析php递归法读取目录及文件的方法,代码中包含较为详尽的注释,如下所示: <?php function showdir($path){ $dh = opendir($path);//打开目录 while(($d = readdir($dh)) != false){ //逐个文件读取,添加!=false条件,是为避免有文件或目录的名称为0 if($d=='.' || $d == '..'){//判断是否为.
-
PHP递归获取目录内所有文件的实现方法
如下所示: /** * 递归获取文件夹内所有文件 * 返回一个TREE结构的文件系统 * @param string $dir * @param array $filter * @return array $files */ function scan_dir($dir, $filter = array()){ if(!is_dir($dir))return false; $files = array_diff(scandir($dir), array('.', '..')); if(is_ar
-
php递归列出所有文件和目录的代码
<?php /*我的程序在国外的SREVER上,自己编的程序存放到哪,我很难记清. 所以编了一个简单的目录递归函数,查看我的程序,很方便的. */ function tree($directory) { $mydir=dir($directory); echo "<ul>"; while($file=$mydir->read()){ if((is_dir("$directory/$file")) AND ($file!=".&quo
-
php递归获取目录内文件(包含子目录)封装类分享
代码如下: 复制代码 代码如下: function readFileFromDir($dir) { if (!is_dir($dir)) { return false; } //打开目录 $handle = opendir($dir); while (($file = readdir($handle)) !== false) { //排除掉当前目录和上一个目录 if ($file == "." || $file =
-
Python通过递归获取目录下指定文件代码实例
这篇文章主要介绍了python通过递归获取目录下指定文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 获取一个目录下所有指定格式的文件是实际生产中常见需求. import os #递归获取一个目录下所有的指定格式的文件 def get_jsonfile(path,file_list): dir_list=os.listdir(path) for x in dir_list: new_x=os.path.join(path,x) if
-
PHP文件操作之获取目录下文件与计算相对路径的方法
获取目录下文件 1.获取目录下文件,不包括子目录 //获取某目录下所有文件.目录名(不包括子目录下文件.目录名) $handler = opendir($dir); while (($filename = readdir($handler)) !== false) {//务必使用!==,防止目录下出现类似文件名"0"等情况 if ($filename != "." && $filename != "..") { $files[]
-
Shell脚本监控目录内文件改动
废话不多说了,直接给大家贴代码,具体代码如下所示: #! /bin/bash webroot="/home/www/" cp /dev/null rsync_file if [ ! -f file.md5 ];then find $webroot -type f -exec md5sum {} \; >>file.md5 else for file in $(md5sum -c file.md5|awk -F':' '/FAILED/{print $1}') do if [
-
php获取目录所有文件并将结果保存到数组(实例)
工作中有时会遇到需要将某个目录下的文件进行批量处理的操作,这个时候我们就需要将该目录下的所有符合条件的文件找出来并保存到一个结果集中,然后方便批量处理,通常做法是将其保存到一个数组中,然后循环处理,下面将该过程做一下记录. 复制代码 代码如下: <?php//php获取目录所有文件并将结果保存到数组foreach(glob("./*") as $d){ $tmp=explode('.',$d); $k=end($tmp); //如果是文件,并且后缀名为jpg png的文件 if(
-
python统计指定目录内文件的代码行数
python统计指定目录内文件的代码行数,程序实现统计指定目录内各个python文件的代码总行数,注释行数,空行数,并算出所占百分比 这符合一些公司的小需求,实际代码量的统计工作 效果如图 代码如下: #coding:utf-8 import os,re #代码所在目录 FILE_PATH = './' def analyze_code(codefilesource): ''' 打开一个py文件,统计其中的代码行数,包括空行和注释 返回含该文件总行数,注释行数,空行数的列表 :param cod
-
Linux系统递归生成目录中文件的md5的方法
linux下使用md5sum递归生成整个目录的md5 今天要用md5sum操作目录,递归生成目录下所有文件的md5值,结果发现它不支持递归操作于是写了个php脚本处理下 代码: <?php $path ='/data/www/bbs/source'; $outfile = 'file.md5'; get_file_md5($path, $outfile); function get_file_md5($path, $outfile) { $path = rtrim($path, '/'); if
-
Android按时间先后顺序获取目录下文件列表
本文实例为大家分享了Android按时间先后顺序获取文件列表的具体代码,供大家参考,具体内容如下 /** * 获取目录下所有文件(按时间排序) * * @param path * @return */ public static List<File> listFileSortByModifyTime(String path) { List<File> list = getFiles(path, new ArrayList<File>()); if (list != nu
-
php目录操作函数之获取目录与文件的类型
复制代码 代码如下: <?php $dir = "./"; // Open a known directory, and proceed to read its contents if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { echo "filename: $file : filetype: " . filetype($dir
随机推荐
- JavaScript 创建对象
- 详细解读分布式锁原理及三种实现方式
- SQL Server 2008 数据库镜像部署实例之二 配置镜像,实施手动故障转移
- Prototype使用指南之array.js
- javascript编程起步(第五课)
- 详解Nginx location 匹配规则
- [Oracle] Data Guard 之 三种保护模式介绍
- Position属性之relative用法
- javascript解析xml字符串的函数
- 在ubuntu中重置mysql服务器root密码的方法
- $.ajax()方法参数详解
- 深入Ajax代理的Java Servlet的实现详解
- Joomla实现组件中弹出一个模式(modal)窗口的方法
- jQuery.extend 函数及用法详细
- XP的局域网互访
- Java基于servlet监听器实现在线人数监控功能的方法
- Java并发系列之AbstractQueuedSynchronizer源码分析(概要分析)
- Android如何获取双卡手机IMEI的方法示例
- PyTorch搭建一维线性回归模型(二)
- Vue+Element实现动态生成新表单并添加验证功能