标签:
为了便于操作,先将php读取目录及子目录下所有文件名的方法封装成一个类。
// +----------------------------------------------------------------------
// | lidequan [ I CAN DO IT JUST WORK HARD ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016 http://www.findme.wang All rights reserved.
// +----------------------------------------------------------------------
// | Author: lidequan <dequanLi_edu@126.com> 
// +----------------------------------------------------------------------
class File{
    /**
    *获取某个目录下所有文件
    *@param $path文件路径
    *@param $child 是否包含对应的目录
    */
    public  function getFiles($path,$child=false){
        $files=array();        
        if(!$child){
            $dp = dir($path);
            while ($file = $dp ->read()){  
                if($file !="." && $file !=".." && is_file($path.$file)){  
                   $files[] = $file;
                }  
            }           
            $dp->close();
        }else{
            $this->scanfiles($files,$path);
        }              
        return $files;
    }
    /**
    *@param $files 结果
    *@param $path 路径
    *@param $childDir 子目录名称
    */
    public function scanfiles(&$files,$path,$childDir=false){
        $dp = dir($path); 
        while ($file = $dp ->read()){  
            if($file !="." && $file !=".."){ 
                if(is_file($path.$file)){//当前为文件
                    if($childDir){
                       $files[$childDir][]= $file;
                    }else{
                        $files[]= $file;
                    }
                }else{//当前为目录
                    $this->scanfiles($files,$path.$file.DIRECTORY_SEPARATOR,$file);
                }               
            } 
        }
        $dp->close();
    }
}读取Manual/html目录及子目录下所有文件名
$File=new File();
$info=$File->getFiles(‘Manual/html/‘,true); 
读取Manual/html目录下所有文件名
$File=new File();
$info=$File->getFiles(‘Manual/html/‘);也可以用php中glob与scandir,当时其有一定的限制。
标签:
原文地址:http://blog.csdn.net/hsd2012/article/details/52185177