<?php
//删除文件和文件夹
$dir = './testFile';
function deleteFile($dir){
$result = false;
if($dh = opendir($dir)){
$result=true;//自己理解:这个true是为了删除目录的,具体思路:目录开始往下读,先判断是不是目录,如果是,就自己调用自己,如果下面没有文件了,则终止循环返回的始终是true!如果没有这个true,则函数返回值为空,就不会走删除目录的条件!$result在unlink的时候一定要存在,因为是判断删除成功的条件,如果有一次没成功,程序会继续执行往下删除,知道删不掉的返回false!则$result就是false,说明文件夹下面还有文件没删除!则返回false,那么文件夹就删不掉!如果都成功了,最后文件夹都是空的,while循环走不下去,那这个返回值必须手动设置!
while($file = readdir($dh)){
if($file != '.' && $file !='..'){
//判断是否是目录
if(is_dir($dir.'/'.$file)){
$result = deleteFile($dir.'/'.$file);
}else{
$result = unlink($dir.'/'.$file);
}
}
}
closedir($dh);
if($result){
$result = rmdir($dir);
}
}
return $result;
}
deleteFile($dir);
![]()