原文地址: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. nginx linux 下开机自动启动

      这里使用的是编写shell脚本的方式来处理 vi /etc/init.d/nginx  (输入下面的代码) #!/bin/bash# nginx Startup script for the Ngin ...

    2. pt-heartbeat使用实践

      今天无意中看到了沃趣网络科技的一篇文章请不要用SECONDS_BEHIND_MASTER来衡量MYSQL主备的延迟时间感觉分析的相当不错,该文章中也提到了使用pt-heartbeat这个工具检测主从延 ...

    3. 纠结的NTP安装过程

      为了部署实验用的openstack环境,其中有NTP的安装环节.在这个过程中,真是折腾了一下午...遇到了一些问题! 由于公司内部网络管理的原因,很多网站没有办法访问,比如公开的时间服务站点,我找了几 ...

    4. SPOJ #453. Sums in a Triangle (tutorial)

      It is a small fun problem to solve. Since only a max sum is required (no need to print path), we can ...

    5. android 反编译 逆向工具整理

      需要准备的道具需要哪些软件会在后面逆向过程中详细介绍,这里先大致罗列一下 android一台root并安装了xposed框架的手机(主要是为了脱壳) 类似[海马玩]这种模拟器 android-kill ...

    6. python使用random函数生成随机数

      python使用random函数来生成随机数,常用的方法有: import random #生成0-1之间的数(不包括0和1) random.random() #生成1-5之间的随机整数(包括1和5) ...

    7. Configure custom SSL certificate for RDP on Windows Server 2012 in Remote Administration mode

      Q: So the release of Windows Server 2012 has removed a lot of the old Remote Desktop related configu ...

    8. Linux下Wi-Fi的实现:wireless_tools和wpa_supplicant

      平台为hi35XX,在Liunx下借助wireless_tools和wpa_supplicant(因为现在的无线WIFI网络大多是wpa加密.所以需要移植wpa_supplicant工具)等工具实现w ...

    9. oracle中一个字符串包含另一个字符串中的所有字符

      oracle中一个字符串包含另一个字符串中的所有字符 --解决监理报告中所勾选的标段信息,与该用户所管理的标段字符串不匹配的问题. select * from a where instr(a,b)&g ...

    10. 71. Simplify Path

      Given an absolute path for a file (Unix-style), simplify it. For example,path = "/home/", ...