explode('/',$path);
$nowPath = '';
array_pop($pathArray);
foreach ($pathArray as $key=>$value){
if ( ''==$value ){
unset($pathArray[$key]);
}else{
if ( $key == 0 )
$nowPath .= $value;
else
$nowPath .= '/'.$value;
if ( !is_dir($nowPath) ){
if ( !mkdir($nowPath, 0777) ) return false;
}
}
}
return true;
}
删除多级目录方法
在winxp下测试成功,只要php文件编码为gb2312,文件名随意,应该把文件名改为编码为gb2312,就行,没测
代码如下 | |||||
header("Content-Type:text/html; charset=gb2312"); if(deleteDir('./复件 复件 复件 复件 复件 复件 复件 复件 复件 复件 复件 aaa')) echo "删除成功"; function deleteDir($dir) { if (@rmdir($dir)==false && is_dir($dir)) //删除不了,进入删除所有文件 { if ($dp = opendir($dir)) { while (($file=readdir($dp)) != false) { if($file!='.' && $file!='..') { //echo $file=$dir.'/'.$file;echo ' $file=$dir.'/'.$file; if (is_dir($file)) //是真实目录 { deleteDir($file); }else { unlink($file); } } } closedir($dp); }else { return false; } } if (is_dir($dir) && @rmdir($dir)==false) //是目录删除不了 return false; return true; } ?> 递归删除多级目录 同样的思路,php用rmdir和unlink递归删除多级目录的代码:
|