Portal > Foren > PHP > PHP-Programmierung > Liste aller Dateien
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 02.01.2006, 22:19 Nach oben    #1
Erfahrener Benutzer
 
Benutzerbild von Garnele
 
Registriert seit: 16.09.2005
Ort: CH :-)
Beiträge: 123
Standard Liste aller Dateien

Hi Leuts

ich suche eine funktion die mir alle Dateien und Unterverzeichnisse die in einem Verzeichniss sind ausgibt. Am liebsten in einen Array, wenn das geht.

Habe noch nie sowas gebraucht, deshalb frage ich.

LG
Garnele
__________________
Mein Forum zu Thema Garnelen und Wirbellose: http://www.garnelenforum.ch
Garnele ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.01.2006, 23:06 Nach oben    #3
Erfahrener Benutzer
 
Benutzerbild von Garnele
 
Registriert seit: 16.09.2005
Ort: CH :-)
Beiträge: 123
Standard

Hi Ben

Was soll ich da noch sagen? Wie immer: Rasche antwort und genau tefend zu dem was ich suchte. DANKE!!

LG
Garnele
__________________
Mein Forum zu Thema Garnelen und Wirbellose: http://www.garnelenforum.ch
Garnele ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.01.2006, 23:07 Nach oben    #4
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Zitat:
Zitat von Garnele
Was soll ich da noch sagen?
[..]
DANKE!!
Passt schon
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 04.01.2006, 16:33 Nach oben    #5
Jay
Gast
 
Beiträge: n/a
Standard

Hier eine PHP 5 Version davon:

PHP-Code:
<?php
function getFiles(&$rdi,$depth=0) {

    if (!
is_object($rdi))
        return;
        
    for (
$rdi->rewind();$rdi->valid();$rdi->next()) {
        
        if (
$rdi->isDot())
            continue;
        
        if (
$rdi->isDir() || $rdi->isFile()) {
            
            for (
$i 0$i<=$depth;++$i)
                echo 
'&nbsp;&nbsp;&nbsp;';
                
            echo 
$rdi->current().'<br />';
            
            if (
$rdi->hasChildren())
                
getFiles($rdi->getChildren(),1+$depth);
        }
    }
}

getFiles(new RecursiveDirectoryIterator('.'));
?>
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 04.01.2006, 16:52 Nach oben    #6
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Yessas nei ... GOIL ... *g*
Danke .. kannte ich noch gar nicht.

Super. Direkt mal im Manual schmökern.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 04.01.2006, 17:16 Nach oben    #7
Jay
Gast
 
Beiträge: n/a
Standard

@Ben
Ab PHP 5.1 steht glaube ich RecursiveDirectoryIterator::getDepth zur Verfügung.
d.h. den Parameter $depth braucht man auch nicht mehr.

Mfg

Geändert von Jay (04.01.2006 um 17:22 Uhr)
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 06.01.2006, 10:26 Nach oben    #8
Dejan Spasic
 
Benutzerbild von dejan_spasic
 
Registriert seit: 05.01.2006
Ort: Düsseldorf
Beiträge: 169
Standard

Das geht noch viel einfacher
PHP-Code:
<?php
$dir 
= new RecursiveIteratorIterator(
    new 
RecursiveDirectoryIterator('.' DIRECTORY_SEPARATOR)
);

foreach (
$dir as $file) {
    
printf(
        
'%s %s is a %s' PHP_EOL,
        
str_repeat(' '$dir->getDepth()),
        
$file,
        
$file->getType()
    );
}
?>
__________________
Da wir alle in einem Boot sitzen, ist es gut, dass wir nicht alle auf einer Seite stehen... (mir unbekannt)
dejan_spasic ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 06.01.2006, 19:36 Nach oben    #9
Jay
Gast
 
Beiträge: n/a
Standard

Is ja geil! Wo hast du denn das her?
http://www.professionelle-softwareen...tors.spl.html?
-- Fat Tony

Geändert von Jay (06.01.2006 um 19:43 Uhr)
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 06.01.2006, 20:27 Nach oben    #10
Dejan Spasic
 
Benutzerbild von dejan_spasic
 
Registriert seit: 05.01.2006
Ort: Düsseldorf
Beiträge: 169
Standard

Nee nicht aus dem Buch, aber vom gleichem Author...

http://www.phpmag.de/itr/online_arti...nodeid,62.html

Doch auf der http://www.php.net/~helly/php/ext/spl/ , findet man ganz unten von der Index-Seite einige verweise zu sehr nützlichen Artikeln über SPL. Viel Spaß beim schmökern ;^)
__________________
Da wir alle in einem Boot sitzen, ist es gut, dass wir nicht alle auf einer Seite stehen... (mir unbekannt)
dejan_spasic ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.01.2006, 16:41 Nach oben    #11
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Ich habe da noch eine Frage ... wenn ich das hier schreibe
PHP-Code:
<?php

    $dir 
= new RecursiveIteratorIterator(
        new 
RecursiveDirectoryIterator('.' DIRECTORY_SEPARATOR)
    );
    
    echo 
'<pre>';
    
var_dump($dir);
    echo 
'</pre>';
    
    echo 
'<pre>';
    foreach (
$dir as $file) {
        
printf(
            
'%s %s is a %s' PHP_EOL,
            
str_repeat(' '$dir->getDepth()),
            
$file,
            
$file->getType()
        );
    }
    echo 
'</pre>';
    
?>
Erhalte ich eine ganz normale Ausgabe der Dateien .. aber das var_dump() gibt mir
Code:
object(RecursiveIteratorIterator)#1 (0) {
}
Warum denn das? :-/


Weiterhin .. ich hätte gerne im Endeffekt ein Array, welches diese Struktur hat
Code:
Array (
   'klassenname'    => 'Pfad_zur_Klasse_vom_Root_aus',
   'SessionHandler' => 'classes/utilities/SessionHander'
   ...
)
Irgendwie verstehe ich noch nicht so ganz, wie dieser Iterator arbeitet ... könnte mir das vielleicht jemand, eventuell sogar anhand des gezeigten Beispiels, erkläutern?
Muss nicht an dem Beispiel sein, wäre aber sicherlich nicht verkehrt.

Ich danke.
Grüße Ben.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.01.2006, 17:21 Nach oben    #12
Dejan Spasic
 
Benutzerbild von dejan_spasic
 
Registriert seit: 05.01.2006
Ort: Düsseldorf
Beiträge: 169
Standard

Zitat:
Zitat von Ben
aber das var_dump() gibt mir
Code:
object(RecursiveIteratorIterator)#1 (0) {
}
Warum denn das? :-/
Warum das so ist kann ich dir leider auch nicht beantworten. Würde ich auch gerne wissen. Man kann jedoch die Reflection API einsetzen um näheres über die Klasse zu erfahren.
PHP-Code:
Reflection::export(new ReflectionClass('RecursiveIteratorIterator')); 
Obwohl da auch die Eigenschaften der Klasse nicht aufgelistet werden!? Vielleicht gibt es keine.

Zitat:
Zitat von Ben
Weiterhin .. ich hätte gerne im Endeffekt ein Array, welches diese Struktur hat
Code:
Array (
   'klassenname'    => 'Pfad_zur_Klasse_vom_Root_aus',
   'SessionHandler' => 'classes/utilities/SessionHander'
   ...
)
Irgendwie verstehe ich noch nicht so ganz, wie dieser Iterator arbeitet ... könnte mir das vielleicht jemand, eventuell sogar anhand des gezeigten Beispiels, erkläutern?
Verstehen jetzt das Problem nicht, aber schau mal hier rein http://www.ramikayyali.com/archives/...2/25/iterators . Ein sehr guter Artikel über die Iteratoren wie ich finde. Und dann noch die http://www.php.net/~helly/php/ext/spl/ . Wenn man einmal das Prinzip verstanden hat kommt man damit auch liecht zurecht
__________________
Da wir alle in einem Boot sitzen, ist es gut, dass wir nicht alle auf einer Seite stehen... (mir unbekannt)
dejan_spasic ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Liste im IE 6.x & 7.x Berti HTML, XML und CSS 1 31.03.2007 13:49
Cache leeren um mit file Dateien zu durchsuchen Tryzero PHP-Programmierung 12 12.03.2007 10:13
[PHP] FTP-Funktionen in PHP nutzen MrNiceGuy Tutorials 0 24.05.2006 14:18
Doppeltverkettete Liste : remove(Elem e) taik84 Allgemeine Java-Programmierung 6 12.08.2005 09:44
Listen Fienchen Allgemeine Java-Programmierung 1 29.01.2005 18:14


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:14 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

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