php递归删除文件夹
<pre>
public function deldir($path)
{
//如果是目录则继续
if (is_dir($path)) {
//扫描一个文件夹内的所有文件夹和文件并返回数组
$p = $this->my_scandir($path);
foreach ($p as $val) {
//如果是目录则递归子目录,继续操作
if (is_dir($path . $val)) {
//子目录中操作删除文件夹和文件
$this->deldir($path . $val . '/');
//目录清空后删除空文件夹
@rmdir($path . $val . '/');
} else {
//如果是文件直接删除
unlink($path . $val);
}
}
}
}
public function my_scandir($dir)
{
if (!is_dir($dir)) {
$errmsg = '文件夹不存在';
echo '<script>alert("' . $dir . $errmsg . '")</script>';
echo $dir . $errmsg;
exit();
}
$filearray = array();
$handler = opendir($dir);
while (($filename = readdir($handler)) !== false) {
if ($filename != "." && $filename != "..") {
$filearray[] = $filename;
}}
closedir($handler);
return $filearray;
}
</pre>