宝哥软件园

php删除指定文件夹的示例说明

编辑:宝哥软件园 来源:互联网 时间:2021-09-04

1.前言

目标:php删除指定的目录

使用的Php函数:is_dir、opendir、readdir、scandir、rmdir、closedir等。(注意:其他文件操作功能也可以完成,这里只列出这次使用的功能)

2.相关功能介绍

php文件的操作方法大致相同,上一篇文章已经介绍过了,这里就不重复了,在这里介绍一个新的函数

删除目录

详情请参考http://www.w3school.com.cn/php/func_filesystem_rmdir.asp

3.代码组成

** * [delAllFile description]删除记录在指定目录* @ param[type]$ dirname[description]目录* @ param[type]$ file[description]* @ param integer $ type[description]首次默认打开一个新文件,但第二次调用时不打开* @ return[type][description]*/public函数delalfile ($ dirname,$ file,$ type=1){ $ re=$ this-checkdir($ dirname);//如果($type){ $file=fopen($file,' w '),默认第一次打开文件;//打开日志文件} if($ re){ $ this-delfile($ dirname,$ file);}else{ fwrite($file,' {$dirName}清理完成 r n ');}}/** * [checkDir description]检查文件夹是否为空,如果为空,则删除* @ param[type]$ dirname[description]文件夹名称* @ return[type][description]*/private函数CheckDir($ dirname){ $ a=scandir($ dirname);//列出图像目录中的文件和目录://仅包含的文件夹。和.如果(sizeof ($ a)==2) {rmdir ($ dirname),则目录为空;返回false}返回true}/** * [delFile description]上传文件的方法* @ param[type]$ dirName[description]目录* @ param[type]$ file[description]记录的文件* @ return[type][description]*/private函数delFile($dirName,$ file){ $ DH=OpenDiR($ DirName);while($ handle=readdir($ DH)){ if($ handle==' . '|| $handle==' . '){继续;} $resource=$dirName。'/'.$ handle//判断是否是文件夹if(is_dir($resource)) {//判断文件夹是否为空$ re=$ this-checkDir($ dirName);if($ re){ $ this-delAllFile($ resource,$file,0);} else {fwrite ($ file,{$ resource}清理完成 r n ');继续;} } else { unlink($ resource);} }//关闭资源,删除目录closedir($ DH);//关闭目录资源fwrite($file,' {$dirName}清理完成 r n ');rmdir($ DirNAmE);//删除空目录}但是,当上述代码遇到高层次的子目录时,很容易出现警告,导致目录无法删除

因此,对于级别较高的子集,需要在末尾增加一个循环判断,判断是否可以删除,以避免这种错误

////关闭资源并删除目录//closedir($ DH);//关闭目录资源//fwrite($file,' {$dirName}清理完成 r n ');//rmdir($ DirNAmE);//删除一个空目录//每次目录级别高的时候,都会报错,所以增加一个循环来处理$ I=1;while($ I){ $ re=$ this-CheckDir($ DirName);echo ' $ DirName $ I times br/HR/';$ I;if(!$ re){ $ I=0;close dir($ DH);//关闭目录资源fwrite($file,' {$dirName}清理完成 r n ');}}添加此图层可以避免无法删除的情况(有时是权限问题)

4.结论

删除目录相对简单。基本步骤如下:

1.判断是否是目录,如果是目录,递归调用自己,否则直接删除文件;

2.确定目录是否为空。如果不为空,rmdir将抛出一个错误;

3.文件权限的问题(窗口,这不是问题)

以上php中删除指定文件夹的例子是边肖分享的全部内容,希望能给大家一个参考和支持。

更多资讯
游戏推荐
更多+