php判断并删除空目录及空子目录的方法_php技巧

本文实例讲述了php判断并删除空目录及空子目录的方法。分享给大家供大家参考。具体实现方法如下:

步骤如下:

1.遍历目录及子目录
2.使用 scandir 判断目录是否为空,为空则使用rmdir 删除。

<?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 则简单很多:

find 目标文件夹 -mindepth 1 -depth -empty -type d -exec rm -r {} \;

希望本文所述对大家的php程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
, 判断
, 方法
, 删除
, 空目录
空子目录
电路故障判断技巧、车距判断技巧图解、驾车技巧判断距离、suv车距判断技巧图解、定义判断解题技巧,以便于您获取更多的相关知识。

时间: 2024-12-03 09:00:58

php判断并删除空目录及空子目录的方法_php技巧的相关文章

php如何删除空目录及空子目录

步骤: 1.遍历目录及子目录 2.使用 scandir 判断目录是否为空,为空则使用rmdir 删除. <?php /** 删除所有空目录 * @param String $path 目录路径 */ function rm_empty_dir($path){ if(is_dir($path) && ($handle = opendir($path))!==false){ while(($file=readdir($handle))!==false){ // 遍历文件夹 if($fil

php删除指定目录的方法_php技巧

本文实例讲述了php删除指定目录的方法.分享给大家供大家参考.具体分析如下: 这段代码可实现递归删除子目录的功能 <?php /** * Delete a file, or a folder and its contents * (recursive algorithm) * @author Aidan Lister <aidan@php.net> * @version 1.0.3 * @param string $dirname Directory to delete * @retur

php创建多级目录的方法_php技巧

本文实例讲述了php创建多级目录的方法.分享给大家供大家参考.具体实现方法如下: <?php /* 写出一个能创建多级目录的PHP函数 */ function createdirlist($path,$mode){ if (is_dir($path)){ //判断目录存在否,存在不创建 echo "目录'" . $path . "'已经存在"; //已经存在则输入路径 }else{ //不存在则创建目录 $re=mkdir($path,$mode,true);

PHP简单判断字符串是否包含另一个字符串的方法_php技巧

本文实例讲述了PHP简单判断字符串是否包含另一个字符串的方法.分享给大家供大家参考,具体如下: 在使用PHP判断某字符串中是否包含一个简单的子字符串的时候,我们通常会用到strpos()或者stristr()这两个函数,可是偏偏如果这个字符串的位置如果是在索引0位置,也就是说在要匹配的字符串的最开始,则会出问题. 当然我们还是有解决的方法的,这里就有一个笨办法,但是比较好用,无论中英文,标点符号都适用. 代码如下: function checkStr($str,$target) { $tmpAr

PHP获取当前相对于域名目录的方法_php技巧

本文实例讲述了PHP获取当前相对于域名目录的方法.分享给大家供大家参考.具体如下: http://127.0.0.1/dev/classd/index.php/download 比如这个地址,我想得到红色区域的地址用于生成站内的链接,名为 baseurl. 用 $_SERVER['SCRIPT_NAME'] 就可以了, $_SERVER['SCRIPT_NAME'] 是当前正在访问的PHP文件的相对路径,只要如下稍作处理: 从$_SERVER['SCRIPT_NAME']中获取目录部分,并且替换

php删除文本文件中重复行的方法_php技巧

本文实例讲述了php删除文本文件中重复行的方法.分享给大家供大家参考.具体分析如下: 这个php函数用来删除文件中的重复行,还可以指定是否忽略大小写,和指定换行符 /** * RemoveDuplicatedLines * This function removes all duplicated lines of the given text file. * * @param string * @param bool * @return string */ function RemoveDupl

PHP自定session保存路径及删除、注销与写入的方法_php技巧

本文实例讲述了PHP自定session保存路径及删除.注销与写入的方法.分享给大家供大家参考.具体方法如下: 复制代码 代码如下: $sessionpath=session_save_path();        //获取当前session的保存路径 echo $sessionpath; if(strpos($sessionpath,";")!==false)        //如果路径中存在分号 {   $sessionpath=substr($sessionpath,strpos(

PHP判断数据库中的记录是否存在的方法_php技巧

本文实例讲述了PHP判断数据库中的记录是否存在的方法.分享给大家供大家参考. 具体实现代码如下: 复制代码 代码如下: <?php    $sql="select * from checklist where game_id=$gid and task='$task' and status='$status'";  $result=mysql_query($sql);    $row = mysql_fetch_array($result, MYSQL_ASSOC);      

php显示指定目录下子目录的方法_php技巧

本文实例讲述了php显示指定目录下子目录的方法.分享给大家供大家参考.具体实现方法如下: <?php echo "<h2>subdirs in dir</h2><ul>"; $basedir = basename( __FILE__ ); $dirtoscan = ($basedir . '/somedir/'); $albumlisting = scandir($dirtoscan); foreach ($albumlisting as $i