Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Verzeichnisse rekursiv in ein Array schreiben (https://www.delphipraxis.net/160156-%5Bphp%5D-verzeichnisse-rekursiv-ein-array-schreiben.html)

Luckie 1. Mai 2011 10:09

AW: [PHP] Verzeichnisse rekursiv in ein Array schreiben
 
Damit hatte ich es auch erst probiert, bin damit aber nicht ganz klar gekommen.

alcaeus 1. Mai 2011 12:15

AW: [PHP] Verzeichnisse rekursiv in ein Array schreiben
 
Zitat:

Zitat von Luckie (Beitrag 1098010)
Damit hatte ich es auch erst probiert, bin damit aber nicht ganz klar gekommen.

Welche Schwierigkeiten gabs denn?

Greetz
alcaeus

Luckie 1. Mai 2011 12:29

AW: [PHP] Verzeichnisse rekursiv in ein Array schreiben
 
Den Beispielcode, den ich hatte, hat mir eine Art Verzeichnisbaum ausgegeben. Ich brauchte aber für jede Eben den vollen Pfad. Und das hab eich nicht hinbekommen. Des weiteren bin ich noch nicht so ganz durch die Klasse durchgestiegen, obwohl sie mir sehr praktisch erscheint. Ich habe mir für meine Homepage ein Upload Skript geschrieben, damit ich nicht immer den FTP-Client starten muss: http://www.michael-puff.de/Programmi...PHP/Upload.txt

alcaeus 1. Mai 2011 13:26

AW: [PHP] Verzeichnisse rekursiv in ein Array schreiben
 
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:48 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz