PHP-获取目录中的所有文件和子目录
来源:互联网 发布:编写c语言用什么软件 编辑:程序博客网 时间:2024/05/16 19:26
主要运用了递归的思想和scandir()获取子目录函数,其它的不说了,直接上代码。
/*** 获取目录中所有文件的路径* @param $dir* @return array*/function my_scandir($dir){ if(is_dir($dir)){ $files = array(); $child_dirs = scandir($dir); for($child_dirs as $child_dir){ //'.'和'..'是Linux系统中的当前目录和上一级目录,必须排除掉, //否则会进入死循环,报segmentation falt 错误 if($child_dir != '.' && $child_dir != '..'){ if(is_dir($dir.'/'.$child_dir)){ $files[$child_dir] = my_scandir($dir.'/'.$child_dir); }else{ $files[] = $child_dir; } } } return $files; }else{ return $dir; }}
下面总结一下常用的php 文件和目录操作函数:
目录操作函数:
opendir()//打开指定目录,接受一个目录的路径及目录名作为参数,函数返回值为可供其他目录函数使用的目录句柄(资源类型)。如果该目录不存在或者没有访问权限,则返回FALSE。readdir()//函数readdir()用于读取指定目录,接受已经用opendir()函数打开的可操作目录句柄作为参数,函数返回当前目录指针位置的一个文件名,并将目录指针向后移动一位。当指针位于目录的结尾时,因为没有文件存在则返回FALSE。closedir()//函数closedir()关闭指定目录,接受已经用opendir()函数打开的可操作目录句柄作为参数。函数无返回值,运行后关闭打开的目录。rewinddir()//函数reweinddir()倒回目录句柄,接受已经用opendir()函数打开的可操作目录句柄作为参数。将目录指针重置目录到开始处,即倒回目录的开头。scandir()//接收目录参数,返回目录下所有的子目录和文件数组is_dir()//判断输入的参数是否是一个目录bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] ) //创建目录rmdir()//删除目录,只能删除非空并且有权限的目录
文件操作函数参考
http://www.jb51.net/article/57720.htm
利用递归删除目录及文件的例子
/** * 删除目录及目录下所有文件或删除指定文件 * @param str $path 待删除目录路径 * @param int $delDir 是否删除目录,1或true删除目录,0或false则只删除文件保留目录(包含子目录) * @return bool 返回删除状态 */function delDirAndFile($path, $delDir = FALSE) { $handle = opendir($path); if ($handle) { while (false !== ( $item = readdir($handle) )) { if ($item != "." && $item != ".."){ is_dir("$path/$item") ? delDirAndFile("$path/$item", $delDir) : unlink("$path/$item"); } } closedir($handle); if ($delDir){ return rmdir($path); } }else { if (file_exists($path)) { return unlink($path); } else { return FALSE; } }}
阅读全文
0 0
- PHP-获取目录中的所有文件和子目录
- PHP中获取目录及子目录下的所有文件路径和目录路径
- PHP获取某目录下所有文件、子目录文件
- 遍历目录内所有子目录及子目录中的文件
- 【C#】获取文件、目录下所有文件、子目录文件
- php 获取指定目录下的所有文件名和路径(包括子目录)
- PHP获取目录下的文件(包括子目录中的文件)
- 获取指定目录及其子目录的所有文件(JAVA)
- C#获取目录下及子目录所有文件
- 获取指定目录及子目录中所有文件列表
- 获取指定目录及其子目录下所有文件的绝对路径
- 递归获取目录、子目录下的所有文件
- 遍历目录和子目录中的文件
- 使用Shell遍历目录及其子目录中的所有文件
- 获取文件夹中的所有文件,包括子目录中的
- php获取一个目录下的所有文件全路径---包括子目录---并存放到一维数组
- php获取目录以及子目录
- asp.net遍历目录文件夹和子目录所有文件
- 第九周java作业
- IntelliJ IDEA主题设置
- 区块链,是否是解决互联网信用和诚信问题的良药
- LintCode 第420题 报数
- Github开源项目网址 Retrofit2+Rxjava2+DataBindding+MVVM
- PHP-获取目录中的所有文件和子目录
- intellij下将springboot项目打成war包发布到远程tomcat服务器上
- TensorFlow- win+anaconda环境import包错误(error: .dll not found类问题)
- 把中缀表达式转化为后缀表达式
- PANDAS 数据合并与重塑(concat篇) 原创 2016年09月13日 19:26:30 47784 pandas作者Wes McKinney 在【PYTHON FOR DATA ANALYS
- Python 将成高考科目,并列入全国计算机等级考试
- 8.1 分析并写出下面程序的运行结果
- getElementsByClassName和getElementById的区别
- 互联网