function getDirList
Michael W.
- php
0 romy0 Michael W.0 romy0 Michael W.0 Michael W.0 romy
Hallo,
Ich würde gerne wissen wie das script funzt:
function getDirList ($dirName) {
$d = dir($dirName);
$dirName = strtoupper($dirName);
while($entry = $d->read()) {
if ($entry != "." && $entry != "..") {
if (is_dir($dirName."/".$entry." ")) {
getDirList($dirName."/".$entry);
}
else {
print "<a href="$entry">$entry</a><br>";
}
}
}
$d->close();
}
getDirList(".");
es liest das verzeichniss aus in dem das script selber liegt. wie kann ich ein unterverzeichniss auslesen ? wo wird der pfad dafür angegeben?
Danke
Hallo,
hallo
Ich würde gerne wissen wie das script funzt:
das ist eine rekursive funktion, die sich demnach selbst aufruft
function getDirList ($dirName) {
$d = dir($dirName);
// hier holt er sich das Verzeichnis
$dirName = strtoupper($dirName);
//macht Grossbuchstaben drauss
while($entry = $d->read()) {
//solange er Inhalte lesen kann
if ($entry != "." && $entry != "..") {
//gucken ob Inhalt au´s . oder .. besteht, wenn nein
if (is_dir($dirName."/".$entry." ")) {
// gucken ob es weitere direktories gibt, wenn ja ruft sich die funktion selbst auf mit dem neuen Unterverzeichnisname
hier gehts also zu den Unterverzeichnissen, haben diese wieder Unterverzeichnisse, gehts weiter...
getDirList($dirName."/".$entry);
}
else {
print "<a href="$entry">$entry</a><br>";
// ansonsten gib die den Namen der Datei aus
}
}
}
$d->close();
}
getDirList(".");
// funktionsaufruf mit ., wird also abgebrochen gleich am Anfang
es liest das verzeichniss aus in dem das script selber liegt. wie kann ich ein unterverzeichniss auslesen ? wo wird der pfad dafür angegeben?
hoffe es war Erklärung genug?! Bin manchmal etwas umständlich
ciao
romy
Danke
ich möchte einen ordner 'uploads' auslesen:
$dirName = "./uploads/";
function getDirList ($dirName) {
$d = dir($dirName);
$dirName = strtoupper($dirName);
while($entry = $d->read()) {
if ($entry != "." && $entry != "..") {
if (is_dir($dirName."/".$entry." ")) {
getDirList($dirName."/".$entry);
}
else {
print "<a href="$entry">$entry</a><br>";
}
}
}
$d->close();
}
getDirList(".");
geht nicht was muss ich anders machen ?
Danke
ich möchte einen ordner 'uploads' auslesen:
$dirName = "./uploads/";
getDirList(".");
hier liegt der Hase im Pfeffer:
Du sagst zwar $dirname = blabla, aber der Funktionsaufruf ist trotzdem mit einem ".", demzufolge passiert nichts
getDirList($dirname); sollte das Gewünschte bringen
hih
Danke
Warning: OpenDir: No such file or directory (errno 2) in /var/www/l3s1286/html/djwoelk/fi12/test/login/boup.php on line 106
Fatal error: Call to a member function on a non-object in /var/www/l3s1286/html/djwoelk/fi12/test/login/boup.php on line 108
106: function getDirList ($dirName) {
108: $dirName = strtoupper($dirName);
und nu?
ok habs (gross und klein schreibung)...
106: function getDirList ($dirName) {
108: $dirName = strtoupper($dirName);
und nu?
ich weiss es nicht ganz genau, ABER: zeile 108 brauchst Du gar nicht wie ich sehe, kannst Du also auskommentieren, ist nur dafür da den verzeichnisnamen mit Grossbuchstaben zu versehen und wenn dein Verzeichnis aber nicht grossgeschrieben ist-> findet er es logischerweise nicht!
hoffe, dass war schon das Problem!
klingt sehr dananch
ausserdem machst Du dir es schwerer als nötig
$dirname = "upload", lass die / und . weg -> kann sein dass strtoupper damit ein Problem hatte!
hoffe jetzt gehts