php遍历一个文件夹内的所有文件和文件夹,并删除所有文件夹和子文件夹下的所有文件的代码,通过递归方式实现达到清空一个目录的效果,代码简单实用。
用到的函数:
scandir($path) 遍历一个文件夹所有文件并返回数组。
unlink($filename) 删除文件。
rmdir($path) 只删除空文件夹
实现的代码:
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2018/11/23
* Time: 21:20
*/
//设置需要删除的文件夹
$path="C:\\Users\\Administrator.SC-201810051945\\Desktop\\1";
//清空文件夹函数和清空文件夹后删除空文件夹函数的处理
function del_folder($path){
//如果是目录则继续
if(is_dir($path)){
//扫描一个文件夹内的所有文件夹和文件并返回数组
$p=scandir($path);
foreach ($p as $val){
//排除目录中的.和..
if($val !="." && $val !=".."){
//如果是目录则递归子目录,继续操作
if(is_dir($path.'/'.$val)){
//子目录中操作删除文件夹和文件
del_folder($path.'/'.$val);
//目录清空后删除空文件夹
rmdir($path.'/'.$val);
}else{
//如果是文件直接删除
unlink($path.'/'.$val);
}
}
}
}else{
echo "$path is not dir";
} } del_folder($path);
?>
用到的函数:
scandir($path) 遍历一个文件夹所有文件并返回数组。
unlink($filename) 删除文件。
rmdir($path) 只删除空文件夹
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
<?php //设置需要删除的文件夹
$path = "./Application/Runtime/" ;
//清空文件夹函数和清空文件夹后删除空文件夹函数的处理
function deldir( $path ){
//如果是目录则继续
if ( is_dir ( $path )){
//扫描一个文件夹内的所有文件夹和文件并返回数组
$p = scandir( $path );
foreach ( $p as $val ){
//排除目录中的.和..
if ( $val != "." && $val != ".." ){
//如果是目录则递归子目录,继续操作
if ( is_dir ( $path . $val )){
//子目录中操作删除文件夹和文件
deldir( $path . $val . '/' );
//目录清空后删除空文件夹
@ rmdir ( $path . $val . '/' );
} else {
//如果是文件直接删除
unlink( $path . $val );
}
}
}
}
}
//调用函数,传入路径
deldir( $path );
|
总结
以上所述是小编给大家介绍的php删除一个路径下的所有文件夹和文件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!