PHP List Directory structure and exclude some directories

前端 未结 8 712
南笙
南笙 2020-12-18 05:44

I have this PHP Code:

$rootpath = \'../admin/\';
$inner = new RecursiveDirectoryIterator($rootpath);
$fileinfos = new RecursiveIteratorIterator($inner);

for         


        
8条回答
  •  甜味超标
    2020-12-18 06:21

    I suggest using the RecursiveCallbackFilterIterator.

    $directory = '../admin/';
    $filter = array('.git');
    
    $fileinfos = new RecursiveIteratorIterator(
      new RecursiveCallbackFilterIterator(
        new RecursiveDirectoryIterator(
          $directory,
          RecursiveDirectoryIterator::SKIP_DOTS
        ),
        function ($fileInfo, $key, $iterator) use ($filter) {
          return $fileInfo->isFile() || !in_array($fileInfo->getBaseName(), $filter);
        }
      )
    );
    
    foreach($fileinfos as $pathname => $fileinfo) {
      //...
    }
    

提交回复
热议问题