php怎么删除文件夹和文件夹下的所有文件
5个回答
展开全部
正常的思路来说,先循环删除文件夹下的所有文件,当没有文件时再删除文件夹,如果你要删除文件夹和所有文件直接本地删除就好了,但是一般没有这种操作。删除文件可以用unlink($filepath)函数,$filepath是文件路径,然后还有一个封装函数rm_empty_dir($path)删除所有空目录:
/** 删除所有空目录
* @param String $path 目录路径
*/
function rm_empty_dir($path){
if(is_dir($path) && ($handle = opendir($path))!==false){
while(($file=readdir($handle))!==false){// 遍历文件夹
if($file!='.' && $file!='..'){
$curfile = $path.'/'.$file;// 当前目录
if(is_dir($curfile)){// 目录
rm_empty_dir($curfile);// 如果是目录则继续遍历
if(count(scandir($curfile))==2){//目录为空,=2是因为.和..存在
rmdir($curfile);// 删除空目录
}
}
}
}
closedir($handle);
}
}
具体的还要你自己稍加修改,希望可以帮到你。
/** 删除所有空目录
* @param String $path 目录路径
*/
function rm_empty_dir($path){
if(is_dir($path) && ($handle = opendir($path))!==false){
while(($file=readdir($handle))!==false){// 遍历文件夹
if($file!='.' && $file!='..'){
$curfile = $path.'/'.$file;// 当前目录
if(is_dir($curfile)){// 目录
rm_empty_dir($curfile);// 如果是目录则继续遍历
if(count(scandir($curfile))==2){//目录为空,=2是因为.和..存在
rmdir($curfile);// 删除空目录
}
}
}
}
closedir($handle);
}
}
具体的还要你自己稍加修改,希望可以帮到你。
展开全部
函数代码一:删除目录及目录下的所有文件
//循环删除目录和文件函数
function delDirAndFile( $dirName )
{
if ( $handle = opendir( "$dirName" ) ) {
while ( false !== ( $item = readdir( $handle ) ) ) {
if ( $item != "." && $item != ".." ) {
if ( is_dir( "$dirName/$item" ) ) {
delDirAndFile( "$dirName/$item" );
} else {
if( unlink( "$dirName/$item" ) )echo "成功删除文件: $dirName/$item\n”;
}
}
}
closedir( $handle );
if( rmdir( $dirName ) )echo “成功删除目录: $dirName\n”;
}
}
?>
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自己写个函数就行了
function deldir($dir) {
//先删除目录下的文件:
$dh=opendir($dir);
while ($file=readdir($dh)) {
if($file!="." && $file!="..") {
$fullpath=$dir."/".$file;
if(!is_dir($fullpath)) {
unlink($fullpath);
} else {
deldir($fullpath);
}
}
}
closedir($dh);
//删除当前文件夹:
if(rmdir($dir)) {
return true;
} else {
return false;
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用递归,函数网上自己搜索。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$web_root=str_replace('\\','/',$_SERVER['DOCUMENT_ROOT']);
$dirname=$web_root.'/test';
del_dir($dirname);
function del_dir($dirname)
{
if(is_dir($dirname))
{
$handle=opendir($dirname);
while (($file = readdir($handle)) !== false){
if($file!='.' && $file!='..')
{
if(is_dir("$dirname/$file"))
{
del_dir("$dirname/$file/");
}
else{
if(unlink("$dirname/$file" ))
{
echo '删除文件'.$file.'成功';
}
}
}
}
closedir($handle);
if( rmdir( $dirname ) )echo "成功删除目录: $dirname\n";
}
}
$dirname=$web_root.'/test';
del_dir($dirname);
function del_dir($dirname)
{
if(is_dir($dirname))
{
$handle=opendir($dirname);
while (($file = readdir($handle)) !== false){
if($file!='.' && $file!='..')
{
if(is_dir("$dirname/$file"))
{
del_dir("$dirname/$file/");
}
else{
if(unlink("$dirname/$file" ))
{
echo '删除文件'.$file.'成功';
}
}
}
}
closedir($handle);
if( rmdir( $dirname ) )echo "成功删除目录: $dirname\n";
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询