funktion: return $array funktioniert nicht
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
album
aufwand
befinden
bild
code
datei
falsch handhabe
fehler
funktion
funktionieren
glauben
info
machen
not
ordner
paar
photo
problem
verschiedene ordner
ziel
-
hallo
ich bin gerade dabei, eine php gallerie zu programmieren. ich erkläre mal kurz die funktionsweise:
man macht verschiedene ordner, in denen sich bilder befinden. in jedem dieser ordner befindet sich eine datei, zB info.txt, in der der name steht, der die jeweilige gallerie haben soll.
ziel ist es, eine spartanische gallerie zu erstellen, in der man ohne viel aufwand neue bilder oder ganze alben hinzufügen kann.
ich habe nun versucht eine funktion zu schreiben, die alle ordner, in denen sich die bilder befinden, in einen array auflisten soll.
<?php function scanfordirectories() { $albumsdir = "photos/"; $od = opendir($albumsdir); while(false !== ($li = readdir($od))) { if($li != "." && $li != "..") { if(is_dir($albumsdir.$li)) { $scanfordirectories[] = $li; } } } return $scanfordirectories; } if($scanfordirectories == "") {echo("error - empty <br/>");} foreach($scanfordirectories as $dirnumber => $dirname) { echo("<a href="?dir=".$dirname."\">"); include("photos/".$dirname."/info.txt"); echo("</a><br/>n"); } ?>
Allerdings funktioniert das nicht. könnte auch sein, dass ich die arrays falsch handhabe (kenne mich sehr wenig damit aus) aber ich vermute dass das problem eher am return wert liegt.
habe eine zweite version des scripts ausprobiert um den fehler zu finden, und die funktion weg gelassen. diesmal klappt's
<?php $albumsdir = "photos/"; $od = opendir($albumsdir); while(false !== ($li = readdir($od))) { if($li != "." && $li != "..") { if(is_dir($albumsdir.$li)) { $scanfordirectories[] = $li; } } } if($scanfordirectories == "") {echo("not ok - empty <br/>");} foreach($scanfordirectories as $dirnumber => $dirname) { echo("<a href="dir=".$dirname."\">"); include("photos/".$dirname."/info.txt"); echo("</a><br/>n"); } ?>
dabei sind beide scripte quasi identisch.
wo liegt der fehler an der funktion? wie kann ich den return-wert korrekt ausgeben? ich brauche die version mit der funktion, da ich diese ein paar mal benötigen werde
Beitrag geändert: 4.10.2008 0:03:03 von m2k -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
ich glaube ich habe den fehler gefunden
habe jetzt nach der funktion ein
$scanfordirectories = scanfordirectories();
eingebaut und das scheint zu funktionieren (obwohl ich genau das schon vorher probiert hatte )
naja ihr werdet noch von mir hören, das script ist noch lange nicht fertig ;) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage