php如何删除非空目录,php怎样删除非空目录_后端开发

php删除非空目次的要领:起首自定义一个delDir函数;然后遍历目次,读出目次中的文件或文件夹;接着将目次下的文件与当前目次相连;末了递归挪用删除子目次,并运用“rmdir”函数删除空目次即可。

e6a438109dc17407aa3e694af7ea75fa.png

php rmdir运用递归函数删除非空目次

我们人人都晓得,php rmdir()函数用于删除空目次,但假如要删除非空目次,我们必需将非空目次中的文件或子目次删除,本文章向人人引见php怎样运用递归函数删除非空目次,须要的朋侪能够参考一下。

起首向人人引见一下rmdir()函数。

php rmdir()函数

rmdir — 删除空目次

引荐:《PHP教程》

语法:

bool rmdir ( string $dirname [, resource $context ] )

尝试删除 dirname 所指定的目次。 该目次必需是空的,而且要有响应的权限。 失利时会发生一个E_WARNING级别的毛病。

参数:

dirname:目次的途径。

context:在 PHP 5.0.0 中增加了对上下文(Context)的支撑。

php rmdir()删除非空目次

上面已说过,rmdir()函数只能删除空目次,假如黑白空目次就须要先进入到目次中,运用unlink()函数将目次中的每一个文件都删撤除,再回来将这个空目次删除。假如目次中还存在子目次,而且目次也非空,就须要运用递归的要领。自定义递归函数删除目次的源代码以下:

/* by http://www.manongjc.com/article/27.html*/

function delDir($directory){//自定义函数递归的函数全部目次

if(file_exists($directory)){//推断目次是不是存在,假如不存在rmdir()函数会失足

if($dir_handle=@opendir($directory)){//翻开目次返回目次资本,并推断是不是胜利

while($filename=readdir($dir_handle)){//遍历目次,读出目次中的文件或文件夹

if($filename!='.' && $filename!='..'){//一定要消除两个特别的目次

$subFile=$directory."/".$filename;//将目次下的文件与当前目次相连

if(is_dir($subFile)){//假如是目次前提则成了

delDir($subFile);//递归挪用本身删除子目次

}

if(is_file($subFile)){//假如是文件前提则建立

unlink($subFile);//直接删除这个文件

}

}

}

closedir($dir_handle);//封闭目次资本

rmdir($directory);//删除空目次

}

}

}

delDir("mydir");//挪用delDir函数

?>

处置惩罚递归删除非空目次外,我们也能够运用操作系统敕令“rm -rf”删除非空的目次,但也要从平安和跨平台方面斟酌只管不要去运用。

以上就是php怎样删除非空目次的细致内容,更多请关注ki4网别的相干文章!

收藏 | 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值