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

後續補充...

  

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