首页 > 后端开发 > php教程 > php递归函数递归复制与删除目录的那些事

php递归函数递归复制与删除目录的那些事

WBOY
发布: 2016-07-25 08:51:23
原创
1078 人浏览过
在php编程中,对多级目录的复制与删除是个问题,可以用php递归函数实现目录的复制与删除操作,自定义的递归函数复制目录与删除目录的一些例子。

php递归函数删除目录

在php中要复制一个包含多个子目录的目录,将涉及文件的复制、目录创建等操作。复制一个文件可以通过PHP提供的copy()函数完成,创建目录可以使用mkdir()函数。定义函数时,首先对源目录进行遍历,如果遇到的是普通文件,直接使用copy()函数进行复制。如果遍历时遇到一个目录,则必须建立该目录,然后再对该目录下的文件进行复制操作,如果还有子目录,则使用递归重复操作,最终将整个目录复制完成。

例子,自定义的递归函数复制目录。

复制代码 代码示例:

从安全和跨平台等方面考虑,尽量不要去调用操作系统的SHELL命令“cp-a”完成目录的复制。

二、php创建和删除目录函数介绍和递归删除目录函数

php创建和删除目录函数介绍和递归删除目录函数,理解下递归删除目录的自定义函数的实现方法。

mkdir() — 新建目录

– 语法:bool mkdir (string pathname [,int mode]) – 尝试新建一个由 pathname 指定的目录。

rmdir() — 删除目录

– 语法:bool rmdir ( string dirname ) – 尝试删除 dirname 所指定的目录。 该目录必须是空的,而且要有相应的权限。如果成功则返回 TRUE,失败则返回 FALSE。

unlink — 删除文件

– 语法:bool unlink ( string filename ) – 删除 filename。和 Unix C 的 unlink() 函数相似。如果成功则返回 TRUE,失败则返回 FALSE。 在PHP中,使用mkdir()函数只需要传入一个目录名即可很容易地建立一个新目录。但删除目录所使用的函数rmdir(),只能删除一个空目录并且目录必须存在。如果是非空的目录就需要先进入到目录中,使用unlink()函数将目录中的每个文件都删除掉,再回来将这个空目录删除。如果目录中还存在目录,而且子目录也非空,就要使用递归的方法了。

例子,自定义递归函数删除目录:

复制代码 代码示例:

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

三、php自定义函数之递归删除文件及目录

自定义函数之递归删除文件及目录的php代码 例子:

复制代码 代码示例: 四、php递归函数删除整个目录

php实现用于删除整个目录的递归函数,包括php递归算法与目录技巧。

例子,php实现用于删除整个目录的递归函数。

复制代码 代码示例:


来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板