function delete_folder($tmp_path){
if(!is_writable($tmp_path) && is_dir($tmp_path)){
chmod($tmp_path,0777);
}
$handle = opendir(iconv('utf-8','gb2312',$tmp_path));
while(($tmp=readdir($handle)) !== false){
if($tmp!='..' && $tmp!='.' && $tmp!=''){
if(is_writable($tmp_path.'/'.$tmp) && is_file($tmp_path.'/'.$tmp)){
unlink($tmp_path.'/'.$tmp);
}elseif(!is_writable($tmp_path.'/'.$tmp) && is_file($tmp_path.'/'.$tmp)){
chmod($tmp_path.'/'.$tmp,0666);
unlink($tmp_path.'/'.$tmp);
}
if(is_writable($tmp_path.'/'.$tmp) && is_dir($tmp_path.'/'.$tmp)){
delete_folder($tmp_path.'/'.$tmp);
}elseif(!is_writable($tmp_path.'/'.$tmp) && is_dir($tmp_path.'/'.$tmp)){
chmod($tmp_path.'/'.$tmp,0777);
delete_folder($tmp_path.'/'.$tmp);
}
}
}
closedir($handle);
rmdir(iconv('utf-8','gb2312',$tmp_path));
if(!is_dir($tmp_path)){
return true;
}else{
return false;
}
}
只要目录名字是中文或者目录里包含中文文件,这个目录就删除不了,甚是头疼,求解!
看看这个递归删除目录的函数,哪里需要修改?