php如何消除递归,php怎么递归删除目录

php递归删除目录的方法:首先利用opendir函数打开目录句柄;然后从目录句柄中读取条目,并利用readdir函数返回目录中下一个文件的文件名;最后依次删除目录,并关闭目录句柄即可。

b2e48bab7dbfbd5049a95ae727484a78.png

相关函数:

opendir() 函数打开一个目录句柄,若成功,则该函数返回一个目录流,否则返回 false 以及一个 error。

(相关学习视频推荐:java视频教程)

closedir() 函数关闭目录句柄。

readdir() 函数返回目录中下一个文件的文件名。

代码示例:<?php

//递归删除目录

$path = "D:/a";

//调用递归函数

$res = diGUiRmDir($path);

//输出结果

var_dump($res);

function diGUiRmDir($path){

//打开目录句柄

$handle = opendir($path);

//readdir() 从目录句柄中读取条目

//返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回

while(false !== $filename = readdir($handle)){

if ($filename =='.' || $filename =='..') { //跳过 . ..文件夹

continue;

}

//判断是否为目录

if (is_dir($path.'/'.$filename)) {

$current_func = __FUNCTION__;

//是目录,递归删除

$current_func = ($path.'/'.$filename);

}else{

//是文件,删除

unlink($path.'/'.$filename); //unlink() 删除文件 返回bool

}

}

//目录删除完毕

closedir($handle); //关闭目录句柄

return rmdir($path); // 删除目录返回结果

}

相关推荐:php培训

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值