Einzelnen Beitrag anzeigen

Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#14

AW: [PHP] Verzeichnisse rekursiv in ein Array schreiben

  Alt 1. Mai 2011, 13:26
Moin,

den Dateinamen kriegst du mit $fileinfo->getFilename() raus, den Pfad mit $fileinfo->getPath() und den kompletten Pfad inkl. Dateiname mit $fileinfo->getPathname().

Hier mal ein Beispiel, welches auch gleich den root-Path rausschnibbelt:
Code:
/**
 * Normalizes a pathname by cutting a root directory from the beginning
 * 
 * @param string $pathname The path name to normalize
 * @param string $rootDirectory The root directory that will be cut from the pathname
 *
 * @return string The normalized pathname
 */
function normalizePathname ($pathname, $rootDirectory)
{
   return preg_replace('#^' . preg_quote($rootDirectory, '#') .'#', '', $pathname);
}

/**
 * Returns a recursive directory listing
 * 
 * @param string $directory The root directory for the listing
 *
 * @return array An array containing all children
 */
function getRecursiveDirectoryListing ($directory)
{
   $children = array();
   
   $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory), RecursiveIteratorIterator::SKIP_DOTS);
   foreach ($iterator as $child) {
      $children[] = normalizePathname($child->getPathname(), $directory);
   }
   
   array_multisort($children, SORT_ASC, $children);
   return $children;
}
Hinweis: code ist ungetestet und nicht in der IDE geschrieben....

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat