kostenloser Webspace werbefrei: lima-city


funktion: return $array funktioniert nicht

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    m2k

    m2k hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Autor dieses Themas

    m2k

    m2k hat kostenlosen Webspace.

    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 :confused: )

    naja ihr werdet noch von mir hören, das script ist noch lange nicht fertig ;)
  4. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!