Wie kann ich rekursiv alle Dateien mit einem bestimmten Namen in einem Ordner mit PHP?

Angenommen ich habe einen Ordner mit dem Namen parent
Dort gibt es viele Unterordner wie child1, child2 etc.
Einige dieser "Kind" - Ordner eine Datei namens module.php.
Wie kann ich rekursiv überprüfen Sie alle Unterordner des parent Ordner und alle Dateien namens module.php in meine Anwendung ein?

Ich habe versucht, das unten und kann nicht herausfinden, was falsch ist:

if ( !function_exists( 'glob_recursive' ) ) {
  function glob_recursive( $pattern, $flags = 0 ) {
    $files = glob( $pattern, $flags );
    foreach ( glob( dirname( $pattern ) . '/*', GLOB_ONLYDIR|GLOB_NOSORT ) as $dir ) {
      $files = array_merge( $files, glob_recursive( $dir . '/' . basename( $pattern ), $flags ) );
    }
    return $files;
  }
}

foreach ( glob_recursive( locate_template('/lib/modules/*/module.php' ) as $module ) {
  require_once $module;
}
  • Wie etwa php.net/manual/en/function.glob.php?
  • AFAIK glob arbeitet nicht rekursiv
  • Oh, du hast Recht, mein schlechtes. Der iterator tun sollten, in der Frage weiter unten.
  • Ich aktualisierte meinen obigen post zu zählen, was ich getan habe, einschließlich einer glob_recursive Funktion. Aber wie es scheint, bin ich etwas fehlt...
  • dies ist der Grund, warum ich möchte, um loszuwerden, php, sobald ich mir leisten kann zu
InformationsquelleAutor Aristeides | 2013-06-02
Schreibe einen Kommentar