PHP列出目录中的目录和文件的几种方法

1.应用场景

就是借助代码,查看目录结构

2.code

<?php        
/**      
* PHP中列出目录中的目录和文件的几种方法      
*/       
//兼容PHP4和PHP5的写法        
 

/**
 * 获取文件目录
 */
public function getFileList($directory){
    $files = [];
    if(!is_dir($directory)){
        throw new CustomException('文件路径不是目录!');
    }
    if($dh = opendir($directory)){
        while($file = readdir($dh) !== false){
            if($file != '.' && $file != '..'){
                $files[] = $file;
            }
        }
        closedir($dh);
    }
    return $files;
}

     
        
//PHP5中的简单方法        
 
function getFileList2($directory) {        
    $files = array();        
    if(is_dir($directory)) {        
        if($files = scandir($directory)) {        
            $files = array_slice($files,2);        
        }        
    }        
    return $files;        
}        
        
//使用PHP5面向对象的写法        
 
function getFileList3($directory) {        
    $files = array();        
    try {        
        $dir = new DirectoryIterator($directory);        
    } catch (Exception $e) {        
        throw new Exception($directory . ' is not readable');        
    }        
    foreach($dir as $file) {        
        if($file->isDot()) continue;        
        $files[] = $file->getFileName();        
    }        
    return $files;        
}        

 

个人code: [并不能获取目录下目录的文件, 应该调整为递归调用]  TBD

/**
 * [CAN_POST]
 * 查看目录
 */
public function getFileList($directory = 'data1/www/test.gzm.oa.com') {
    $files = [];
    if(is_dir($directory)) {
        if($dh = opendir($directory)) {
            while(($file = readdir($dh)) !== false) {
                if($file != '.' && $file != '..') {
                    $files[] = $file;
                }
            }
            closedir($dh);
        }
    }
    return $files;
}

 

3.问题

TBD

4.参考


https://zhidao.baidu.com/question/199986547292329565.html

后续补充...

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章