Ergebnis 1 bis 2 von 2

Thema: Unterordner durchsuchen und in Array schreiben

  1. #1
    TP-Senior Avatar von mat81
    Registriert seit
    Jun 2005
    Ort
    Köln
    Beiträge
    241

    Unterordner durchsuchen und in Array schreiben

    Hallo zusammen,

    meine Funktion soll, wenn entsprechende Variablen true, alle Dateien des aktuellen Ordners, sowie Unterordner in ein Array packen und zurück geben.

    Jedoch funktioniert dies nur vertikal, nicht jedoch horizontal. Heißt, dass Nachbarverzeichnisse, obwohl sie erfasst wurden, nicht durchsucht werden. Es wird immer nur das 1. Unterverzeichnis durchsucht.

    Ich hab keine Ahnung, wo da der Fehler liegen soll und warum die while-Schleife vorher abbricht. Ein Fehler wird nicht ausgegeben.

    Hier mal der Code.

    PHP-Code:
    # der Aufruf aus einer anderen Klasse heraus
    $dir_content Misc::readDir (FILES_PATH);


    # die Funktion
    static public function readDir ($dir$sub_dirs true$files_only true$paths = array())
        {    
            
    # cut last "/" from dir, if existing
            
    $dir_elements explode('/'$dir);
            
            if (empty(
    $dir_elements[count($dir_elements)-1]))
                
    array_pop($dir_elements);
                
            
    $dir implode ('/'$dir_elements);
            
            
    # go to dir        
            
    chdir($dir); 
                
            
    $handle opendir($dir);
            
            while ((
    $item readdir($handle)) !== false)
            {        
                
    # skip files/dirs with a point in the first place    
                
    if (strpos($item'.') === 0)
                    continue;            
                
                
    $path $dir.'/'.$item;

                
    #echo $path."\n";
                
                # its a file
                
    if (is_file($item))
                {
                    
    array_push ($paths$path);    
                }        
                
    # its a directory
                
    elseif (is_dir($item))
                {
                    if (!
    $files_only)
                        
    array_push ($paths$path);    
                    
                    
    # repeat for dir, if repeating set
                    
    if ($sub_dirs)
                        
    $paths array_merge ($pathsself::readDir ($path$sub_dirs$files_only$paths));
                }
            }
            
            
    closedir($handle);
            
            return 
    $paths;
        } 
    Im netz habe ich so einge Funktionen gefunden, die Verzeichnisinhalte direkt beim Durchlauf auszugeben. Aber das hat mich leider nicht weiter gebracht.

    The difference between theory and practice is
    that in theory there is no
    difference between theory and practice
    but in practice there is

  2. #2
    TP-Senior Avatar von mat81
    Registriert seit
    Jun 2005
    Ort
    Köln
    Beiträge
    241
    Hab den Fehler nun selbst gefunden. Und zwar lags am

    PHP-Code:
    elseif (is_dir($item)) 
    korrekt wäre der komplette Ordnerpfad

    PHP-Code:
    elseif (is_dir($path)) 

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. [PHP] mehrdimensionales Array durchsuchen und kürzen
    Von the0bone im Forum Traum-Dynamik
    Antworten: 5
    Letzter Beitrag: 15.10.2009, 19:48
  2. Array durchsuchen
    Von StephanF im Forum Flash & Multimedia
    Antworten: 4
    Letzter Beitrag: 27.11.2005, 19:47
  3. Ordnernamen in Array schreiben
    Von Wolfgang G im Forum Traum-Dynamik
    Antworten: 1
    Letzter Beitrag: 06.11.2004, 02:36
  4. array durchsuchen
    Von loki im Forum Traum-Dynamik
    Antworten: 14
    Letzter Beitrag: 16.03.2004, 13:40
  5. rekursives Array durchsuchen
    Von sheaven im Forum Traum-Dynamik
    Antworten: 4
    Letzter Beitrag: 19.01.2003, 15:20

Stichworte

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51