scandir
2015-09-01 15:43
387 查看
定义和用法
scandir() 函数返回一个数组,其中包含指定路径中的文件和目录。若成功,则返回一个数组,若失败,则返回 false。如果 directory 不是目录,则返回布尔值 false 并生成一条 E_WARNING 级的错误。
语法
scandir(directory,sort,context)
参数 | 描述 |
---|---|
directory | 必需。规定要扫描的目录。 |
sort | 可选。规定排列顺序。默认是 0 (升序)。如果是 1,则为降序。 |
context | 可选。规定目录句柄的环境。context 是可修改目录流的行为的一套选项。 |
例子
<?php print_r(scandir("images")); ?>
输出:
Array ( [0] => . [1] => .. [2] => dog.jpg [3] => house.jpg [4] => logo.gif )
php 删除空目录及空子目录
步骤:
1.遍历目录及子目录
2.使用 scandir 判断目录是否为空,为空则使用rmdir 删除。
[php]
<?php /** 删除所有空目录 * @param String $path 目录路径 */ function rm_empty_dir($path){ if(is_dir($path) && ($handle = opendir($path))!==false){ while(($file=readdir($handle))!==false){ // 遍历文件夹 if($file!='.' && $file!='..'){ $curfile = $path.'/'.$file; // 当前目录 if(is_dir($curfile)){ // 目录 rm_empty_dir($curfile); // 如果是目录则继续遍历 if(count(scandir($curfile))==2){ // 目录为空,=2是因为. 和 ..存在 rmdir($curfile); // 删除空目录 } } } } closedir($handle); } } $folder = '目标文件夹'; rm_empty_dir($folder); ?>
使用 shell 则简单很多:
[plain]
find 目标文件夹 -mindepth 1 -depth -empty -type d -exec rm -r {} \;
相关文章推荐
- HTTP报头详解
- Web filter中如何引用Spring的bean
- 音视频同步(播放)原理
- Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V Exception details are logged
- 使用Spring进行面向切面(AOP)编程
- Spring笔记——使用Spring进行面向切面(AOP)编程
- Objective-C学习笔记一:第一个应用程序
- Android Studio 常用设置
- 为android系统添加产品的过程
- jsonp 跨域请求
- 比较用户输入的两个文件,显示出所有不同处的行号与第一个不同字符的位置
- centos 6.5 安装qt5.2
- form表单验证
- js获取验证码倒计时的实现方法
- hdu 2291 Five in a Row, Again 状态压缩搜索
- 万万没想到用理工科思维理解世界-摘录
- Linux常用命令大全
- Nginx 11个阶段
- 新生儿的基本常识
- [Bluetooth(SDK)]使用WinSock连接到远程设备