加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_镇江站长网 (https://www.0511zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php的目录遍历及目录删除函数 - PHP教程

发布时间:2014-04-17 17:12:19 所属栏目:PHP教程 来源:站长网
导读:小编今天没事写了目录想关的函数 包括 遍历该文件夹下的文件,目录子目录 读取当前文件下目录和文件 删除当前文件 夹下的目录子目录以及文件 以上三个函数目前还
小编今天没事写了目录想关的函数

包括 遍历该文件夹下的文件,目录子目录  读取当前文件下目录和文件  删除当前文件 夹下的目录子目录以及文件 以上三个函数目前还不支持中文文件 中文目录

<?php   
header("Content-type:text/html;charset=utf-8");   
/**   
* 读取当前目录下的文件和目录   
*    
* @param    string    $path    路径   
* @return    array    所有满足条件的文件   
*/
function tlist($path){   
    $path = iconv('utf-8', 'gbk', $path);   
    if(!is_dir($path)){   
        throw new Exception($path."不是目录");   
    }   
    $arr = array('dir'=>array(),'file'=>array());   
    $hd = opendir($path);   
    while(($file = readdir($hd))!==false){   
        if($file=="."||$file=="..") {continue;}   
        if(is_dir($path."/".$file)){   
            $arr['dir'][] = iconv('gbk','utf-8',$file);   
        }else if(is_file($path."/".$file)){   
            $arr['file'][] = iconv('gbk','utf-8',$file);   
        }   
    }   
    closedir($hd);   
    echo "目录有:".implode("<br />",$arr['dir'])."<br />";   
    echo "文件有:".implode("<br />",$arr['file']);   
}   
/**   
* 遍历当前目录下的文件和目录以及子文件夹中目录   
* http://www.bianceng.cn
* @param    string    $path    路径   
* @return    array    所有满足条件的文件   
*/
function blist($path){   
    if(!is_dir(iconv("utf-8","gbk",$path))){   
    throw new Exception("文件夹".$path."不存在或者不是文件");   
   }   
    $arr = array();   
    $hd = opendir(iconv("utf-8","gbk",$path));   
    while(($file = readdir($hd))!==false){   
        if($file=="."||$file=="..") {continue;}   
          $newpath=iconv('utf-8', 'gbk', $path) .'/'.$file;   
        if(is_dir($newpath)){   
            $arr[] = blist($path."/".$file);   
        }else if(is_file($newpath)){   
            $arr[] = iconv('gbk','utf-8',$file);   
        }   
    }   
    closedir($hd);   
    return $arr;   
}   
/**   
* 删除目录下的文件以及子目录   
* #param  string $path 路径   
* #return string 删除成功返回true 失败返回false;   
*/
function dirDel($path){   
    if(!is_dir($path)){   
        throw new Exception($path."输入的不是有效目录");   
    }   
    $hand = opendir($path);   
    while(($file = readdir($hand))!==false){   
        if($file=="."||$file=="..")  continue;   
        if(is_dir($path."/".$file)){   
            dirDel($path."/".$file);   
        }else{   
            @unlink($path."/".$file);   
        }   
               
    }   
    closedir($hand);   
    @rmdir($path);   
}   
?>

查看本栏目更多精彩内容:http://www.bianceng.cn/webkf/PHP/

(编辑:应用网_镇江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!