Rumah >pembangunan bahagian belakang >tutorial php >php递归函数递归复制与删除目录的那些事
在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实现用于删除整个目录的递归函数。 复制代码 代码示例: |