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

网络编程 2025-03-25 08:53www.168986.cn编程入门

PHP目录创建与删除:深入理解递归删除功能

在PHP中,处理文件和目录是常见的任务。本文将介绍如何创建和删除目录,并重点分享一个递归删除目录的自定义函数。对这方面有需求的朋友,不妨参考下。

一、创建目录:使用mkdir()函数

--

在PHP中,使用mkdir()函数可以轻松创建一个新目录。该函数的语法为:bool mkdir (string pathname [,int mode])。只需传入一个目录名即可尝试新建一个目录。

二、删除目录:使用rmdir()函数与unlink()函数

--

删除目录相对复杂一些。rmdir()函数只能删除空目录,且需要目录存在。如果目录非空,需要先进入目录,使用unlink()函数删除每个文件,再删除空目录。但如果目录中还有子目录且子目录也非空,就需要使用递归的方法。

三、递归删除目录:自定义函数delDir()

--

下面是一个自定义的递归函数delDir(),可以删除整个目录及其所有子目录和文件。

```php

function delDir($directory) {

if(file_exists($directory)) { //检查目录是否存在,不存在则rmdir()函数会出错

if($dir_handle = @opendir($directory)) { //尝试打开目录

while($filename = readdir($dir_handle)) { //遍历目录下的所有文件

if($filename != "." && $filename != "..") { //排除两个特殊目录"."和".."

$subFile = $directory."/".$filename; //获取子文件的完整路径

if(is_dir($subFile)) { //如果是目录则进行处理

delDir($subFile); //递归调用自身,删除子目录

}

if(is_file($subFile)) { //如果是文件则进行处理

unlink($subFile); //删除文件

}

}

}

closedir($dir_handle); //关闭文件资源

rmdir($directory); //删除空目录

}

}

}

```

调用delDir()函数,即可删除指定目录及其所有子目录和文件。例如:delDir("phpMyAdmin");将删除程序所在目录中的"phpMyAdmin"目录。

四、注意事项

虽然可以使用操作系统命令“rm -rf”来删除非空目录,但出于安全和跨平台考虑,建议尽量避免使用。使用这些函数时需谨慎,确保不会误删重要文件或目录。在实际应用中,还需要对函数返回值进行检查和处理,以确保操作的成功或失败。

上一篇:jquery获取form表单input元素值的简单实例 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by