if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if (is_file($dir .'/'. $file))
unlink($dir .'/'. $file);
}
closedir($dh);
}
}
rmdir($dir);
header('Location: /account/control/sell/step-one/');
exit();
当我在下面放置header()时,删除目录rmdir()将不起作用。我可以注释掉(//)header()和rmdir将完美地工作。
我尝试使用glob和scandir删除文件。关于删除文件和目录的StackOverflow问题有很多答案。我已经尝试过在StackOverflow上找到的几个函数。
如果我不使用header()函数,很多工作只是找到。导致问题的是rmdir / header组合。
答案 0 :(得分:0)
function delFolder($dir){
$glob = glob($dir.'/{,.}*',GLOB_BRACE);
if(!empty($glob)){
foreach($glob as $val){
if(basename($val) != '.' && basename($val) != '..'){
if(is_dir($val)){
delFolder($val);
};
if(is_file($val)){
unlink($val);
};
};
};
};
rmdir($dir);
};
delFolder($dir);
header('Location: /account/control/sell/step-one/');
exit();