Rekursiv Dateien und Ordner auslesen

Man kann aus Symfony die Iterator-Klasse nutzen:

 

namespace Vendor\extensionName\Domain\Repository;
#namespace Symfony\Component\Finder\Iterator;

use RecursiveIteratorIterator;
use RecursiveArrayIterator;


class extensionName extends \TYPO3\CMS\Extbase\Persistence\Repository
{
    private $dateien;

    public function getData() {
        $ordner = $this->lConf['ordner_pdfdoc']; //(Flexform)
        $dateien = $this->iterateDir($ordner);
        ksort($dateien);

        return $dateien;
    }
   
   public function iterateDir($sPath) {
       $aRes = array();
       foreach(new RecursiveIteratorIterator($sPath) as $oItem) {
           if($oItem->isDir()) {
               (!$oItem->isDot() ? $aRes[$oItem->getFilename()] = $this->iterateDir($oItem->getPathname()):0);
               continue;
           }
           $aRes[] = $oItem->getFilename();
       }
      return $aRes;
   }
}