递归创建目录与删除目录
2015-08-25 13:20
197 查看
递归创建级联目录,递归删除级联目录,例如:./a/b/c/d/e
<?php //递归创建目录 function mk_dir($path){ //判断目录是否存在 if(is_dir($path)){ return true; } //如果父目录存在,则直接创建 if(is_dir(dirname($path))){ mkdir($path); return true; } //如果父目录不存在,则递归 mk_dir(dirname($path)); //父目录已存在,则返回创建该子目录 return mkdir($path); } echo mk_dir('./a/b/f/d/sa/as')?'ok':'fail'; //第二种方式:难理解 function printpath($path){ if(is_dir($path)){ return true; } // 父目录存在或你帮我创建父目录,再创建子目录 return is_dir(dirname($path))||printpath(dirname($path))?mkdir($path):false; } echo printpath('./b/as/ds')?'OK':'FAIL'; //函数递归创建目录mkdir(目录,权限默认0777,是否递归创建); mkdir('./aa/bb/cc',0777,true); //递归删除目录 function deldir($path){ //如果不是目录,直接返回 if(!is_dir($path)){ return null; } //打开目录 $dh=opendir($path); while(($row=readdir($dh))!==false){ if($row=='.'||$row=='..'){ continue; } //判断是否是普通文件 if(!is_dir($path.'/'.$row)){ unlink($path.'/'.$row); }else{ deldir($path.'/'.$row); } } closedir($dh); rmdir($path); return true; } echo deldir('./aa')?'删了':'出错了'; ?>
相关文章推荐
- Nodemanager Out of heap memory[fix bug全过程]
- HTTPS代理明文截获之证书伪造(Python)
- 道术器
- linux 如何显示一个文件的某几行(中间几行)
- fl2440开发板的一些小知识(别人总结的)
- CentOS 6.5 安装Gitlab 7.12.2
- hdu 2612 Find a way
- CSS3.0中content格式的图标不显示
- Hibernate入门示例
- [LeetCode 258] Add Digits
- CodeForces 22D Segments 排序水问题
- hdu1081 最大子矩阵和(DP动态规划 最大子序列和变形题)
- Duplicate entry for key 'PRIMARY' 的问题
- setup.py和pip
- Socket 补充
- HDU 5384 AC自动机
- Jdom 生成本地xml
- 【py/pyspider抓取】进行简单的静态网页抓取
- 形而上学 “形而上者谓之道,形而下者谓之器”
- yii2 表单使用方法