原文地址:http://www.manongjc.com/article/1316.html

php rmdir()函数用于删除目录,但是在使用这个函数删除目录之前,我们必须要做一些判断,首先要判断目录是否为空,其次要判断目录是否存在,具体请看下面描述。



php rmdir()函数用于删除目录,但在使用这个函数时,我们需要注意两点:

  1. 删除的目录必须为空
  2. 目录必须存在

因此,正确使用rmdir()函数删除目录的源代码如下:

检查目录是否为空,如果不为空,删除目录中的文件,如果目录中有子目录,还需要删除子目录。

<?php
// 说明: 删除非空目录的解决方案
// http://www.manongjc.com
function removeDir($dirName)
{
if(! is_dir($dirName))
{
return false;
}
$handle = @opendir($dirName);
while(($file = @readdir($handle)) !== false)
{
if($file != '.' && $file != '..')
{
$dir = $dirName . '/' . $file;
is_dir($dir) ? removeDir($dir) : @unlink($dir);
}
}
closedir($handle); return rmdir($dirName) ;
}
?>

其他阅读:

  • php dirname配合__FILE__ 和SCRIPT_FILENAME获取文件目录
  • php dirname()获取路径中的目录部分
  • php使用正则表达式处理路径
  • mysql count和sum的区别
  • php获取目录下的所有文件和子目录
  • php rmdir()删除目录的需要注意的几点的更多相关文章

    1. mkdir,rmdir,cp,rm,mv,cat,touch用法

      一.mkdir新建目录 1.进入tmp目录,查看该目录下面的子目录 [root@localhost ~]# cd /tmp[root@localhost tmp]# lshsperfdata_root ...

    2. Linux命令学习总结:rmdir

      命令简介: 该命令用用来删除空目录,如果目录非空,则会出现错误.可以使用rm删除目录中的文件后,使用rmdir删除目录.也可以使用rm -rf替代rmdir命令.这是一个非常简单的命令.   命令语法 ...

    3. Linux命令学习总结之rmdir命令的相关资料可以参考下

      这篇文章主要介绍了Linux命令学习总结之rmdir命令的相关资料,需要的朋友可以参考下(http://www.nanke0834.com) 命令简介: rmdir命令用用来删除空目录,如果目录非空, ...

    4. linux每日命令(7):rmdir命令

      rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的.(注意,rm - r dir命令可代替rmdir,但是有很大危险性.)删除某目录时也必须具有对父目录的写权限. 一.命令 ...

    5. Linux基础命令---rmdir

      rmdir 删除一个空目录,可以同时删除途经的父目录,但是要确保父目录中没有其他内容. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. ...

    6. Node.js——fs模块(文件系统),创建、删除目录(文件),读取写入文件流

      /* 1. fs.stat 检测是文件还是目录(目录 文件是否存在) 2. fs.mkdir 创建目录 (创建之前先判断是否存在) 3. fs.writeFile 写入文件(文件不存在就创建,但不能创 ...

    7. 每天一个Linux命令(6)rmdir命令

           rmdir命令用来删除空目录. 利用rmdir命令可以从一个目录中删除一个或多个空的子目录.该命令从一个目录中删除一个或多个子目录,其中dirname表示目录名.如果dirname中没有指定 ...

    8. windows7命令帮助大全

      有关某个命令的详细信息,请键入 HELP 命令名ASSOC 显示或修改文件扩展名关联.ATTRIB 显示或更改文件属性.BREAK 设置或清除扩展式 CTRL+C 检查.BCDEDIT 设置启动数据库 ...

    9. Linux常用命令(一)

      Linux常用命令 1. pwd查看当前路径(Print Working Directory)    [root@CentOS ~]# pwd/root 2. cd .. 返回上一级 .. 表示上一级 ...

    随机推荐

    1. redhat编译安装cmake

      将RHEL的yum软件源更换为CentOS的软件源之后,其中的cmake版本太低,为2.6.4版本,编译较新的软件时会提示cmake版本太低,所以有必要编译安装最新版的cmake.   1. 更换yu ...

    2. LintCode "Subarray Sum II"

      Sliding window doesn't work. So it is a typical partial_sum base solution. As below. However if you ...

    3. 高性能MySQL --- 读书笔记(1) - 2016/8/2

      此书不但帮助MySQL初学者提高使用技巧,更为有经验的MySQL DBA指出了开发高性能MySQL应用的途径.全书包括14章,内容覆盖MySQL系统架构.设计应用技巧.SQL语句优化.服务器性能调优. ...

    4. php 根据指定的键对多维数组进行排序

      根据指定的键对多维数组排序,可以按照多个键排序 我们通常有一些多维数组需要排序: $guys = array( array( 'name' => 'jake', 'score' => 80 ...

    5. android学习笔记八——SeekBar

      SeekBar——拖动条 拖动条(SeekBar)组件与ProgressBar水平形式的显示进度条类似,不过其最大的区别在于,拖动条可以由用户自己进行手工的调节,例如当用户需要调整播放器音量或者电影的 ...

    6. 跟我一起写Makefile--- 变量(嵌套变量+追加变量+overrid+多行变量+环境变量+目标变量+模式变量)

      目录(?)[-] 使用变量 一变量的基础 二变量中的变量 三变量高级用法 四追加变量值 五override 指示符 六多行变量 七环境变量 八目标变量 九模式变量 使用变量 ———— 在Makefil ...

    7. C++库大全(转)

      基础类1. Dinkumware C++ Library 参考站点:http://www.dinkumware.com P.J. Plauger编写的高品质的标准库.P.J. Plauger博士是Dr ...

    8. PLSQL_性能优化工具系列10_Automatic Database Diagnostic Monitor - ADDM

      2014-09-06 Created By BaoXinjian

    9. IGS_学习笔记06_IREP发布客户化集成接口为Web Service(案例)

      2015-01-03 Created By BaoXinjian

    10. BestCoder Round #86 部分题解

      Price List 题意: 有n件商品,每天只能买一件,并且会记录账本,问有多少次一定记多了? 题解: 就是求和,最后如果大于和就输出1,否则0. 代码: #include <bits/std ...