怎么在php中利用递归对目录函数进行删除

  介绍

这期内容当中小编将会给大家带来有关怎么在php中利用递归对目录函数进行删除,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

<强> mkdir()——新建目录

——语法:bool mkdir (string路径名[int模式])

——尝试新建一个由路径名指定的目录。

<强>删除文件夹()——删除目录

——语法:bool删除文件夹目录名(字符串)

——尝试删除目录名所指定的目录。该目录必须是空的,而且要有相应的权限。如果成功则返回真,失败则返回
假。

<强>分开——删除文件

——语法:bool拆开(字符串文件名)

——删除文件名。C和Unix的unlink()函数相似。如果成功则返回真,失败则返回假。

在php中,使用mkdir()函数只需要传入一个目录名即可很容易地建立一个新目录。但删除目录所使用的函数删除文件夹(),只能删除一个空目录并且目录必须存在。如果是非空的目录就需要先进入到目录中,使用unlink()函数将目录中的每个文件都删除掉,再回来将这个空目录删除。如果目录中还存在目录,而且子目录也非空,就要使用递归的方法了。自定义递归函数删除目录的程序代码如下所示:

& lt; php ?//自定义函数递归的删除整个目录   function  delDir(目录){   ,,,如果(file_exists(目录)美元){,,,,,//如果不存在删除文件夹()函数会出的错   ,,,,,,,如果($ dir_handle =, @opendir(目录)美元){,,,,,,//打开目录,并判断是否能成功打开   ,,,,,,,,,,,,($ filename =, readdir (dir_handle美元)){,,,,,,//循环遍历目录下的所有文件   ,,,,,,,,,,,,,,如果(filename 美元;!=,“干净,,,filename 美元;!=,“…“){,,,,,,//一定要排除两个特殊的目录   ,,,,,,,,,,,,,,,,,,subFile 美元;=,美元目录!”/懊涝募?,,,,,,,//将目录下的子文件和当前目录相连   ,,,,,,,,,,,,,,,,,,如果(is_dir(子文件)美元),,,,,,,,//如果为目录则条件成立   ,,,,,,,,,,,,,,,,,,delDir($子文件);,,,,,,,//递归地调用自身函数,删除子目录   ,,,,,,,,,,,,,,,,,,如果(is_file(子文件)美元),,,,,,//如果是文件则条件成立   ,,,,,,,,,,,,,,,,,,分开($子文件);,,,,,,,,,,,//直接删除这个文件   ,,,,,,,,,,,,,,}   ,,,,,,,,,,,}   ,,,,,,,,,,,closedir ($ dir_handle);,//关闭文件资源   ,,,,,,,,,,,删除文件夹(目录)美元;,//删除空目录   ,,,,,,,,}   ,,,,,}   }   ,   dirDir (“phpMyAdmin");,//调用delDir()函数,将程序所在目录中的“phpMyAdmin”文件删除   祝辞;

当然也可以通过调用操作系统命令“rm-rf”删除非空的目录,但也要从安全和跨平台方面考虑尽量不要去使用。

怎么在php中利用递归对目录函数进行删除