php创建和删除目录函数介绍和递归删除目录函数
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”来删除非空目录,但出于安全和跨平台考虑,建议尽量避免使用。使用这些函数时需谨慎,确保不会误删重要文件或目录。在实际应用中,还需要对函数返回值进行检查和处理,以确保操作的成功或失败。
编程语言
- php创建和删除目录函数介绍和递归删除目录函数
- jquery获取form表单input元素值的简单实例
- bootstrapValidator自定验证方法写法
- Bootstrap 模态框多次显示后台提交多次BUG的解决方
- vue引用js文件的多种方式(推荐)
- 如何得到XML文档大小
- AJax 把拿到的后台数据在页面中渲染的实例
- 如何做一个文本书写器?
- ASP调用SQL SERVER存储程序
- vue路由前进后退动画效果的实现代码
- JSON字符串和对象之间的转换详解
- JS实现禁止高频率连续点击的方法【基于ES6语法】
- Sql2000与Sql2005共存安装的解决方法
- jQuery实现手机号正则验证输入及自动填充空格功
- vue使用自定义icon图标的方法
- BootStrap tooltip提示框使用小结