Dateienanzahl in einer Funktion

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Dateienanzahl in einer Funktion

    hallo zusammen,
    ich habe ein kleines Zroblem. um eine abschließende Grafik in eine sitemap einzubauen, müsste ich feststellen können wieviele Dateien sich gesamt in der sitemap befinden, um diese dann in einer subtraktion auf eine "0" zu überprüfen. Aber erstmal mein code:

    <?php
    function auflisten($ordner, $links = 0, $sub = FALSE) {
    $handle = opendir($ordner);
    while ($file = readdir ($handle)) {
    if($file != "." && $file != "..") {
    if(is_dir($ordner."/".$file)) {
    $top = $file;
    $top = ucfirst(strtolower($top));


    echo "<td colspan='2'><b><div class='verzweigungtop'>".$top."</div></b></td></tr><tr><td width='35'><img src='../#.gif' border='0'></td></tr><tr>";
    auflisten($ordner."/".$file, $links+30, TRUE);
    }
    else if ($file != "sitemap.php") {
    list ($link, $endung) = split('[.]', $file);
    $navi = $link;
    $navi = ucfirst(strtolower($navi));

    [COLOR=red]an dieser Stelle würde man (einfach gedacht) ein

    $counter = $counter++;

    einsetzen, das vorher auf "0" initialisiert wurde. Doch das funtioniert nicht, da es nur die jeweilige Schleife zählt und nicht darüber hinaus weiterzählt. [/COLOR]
    [COLOR=red]an dieser Stelle müsste man die Differenz bilden:

    $stop=$counter_gesamt - $counter;
    [/COLOR]
    echo '<td width="35">';
    if ($stop == 0){
    echo '<img src="../#.gif" border="0">';
    } else {
    echo '<img src="../#.gif" border="0">';
    }
    echo '</td><td><div class="verzweigung"><a href="'.$ordner."/".$file.'?alias='.$link.'" class="content">'.$navi.'</a></div></td></tr><tr>';
    echo "<td width='35'>";
    if ($stop == 0){
    } else {
    echo "<img src='../#.gif' border='0'>";
    } echo $stop."</td></tr><tr>"; }
    }
    } closedir($handle);
    } auflisten("./");
    ?>

    Ich hab sehr viel rumprobiert, doch nichts zu machen. Ich hoffe mir kann hier jemand weiterhelfen. danke im Voraus

  • #2
    Re: Dateienanzahl in einer Funktion

    Bitte Regeln lesen, und Code in [php]-Tags einfassen (falls erforderlich, Umbrüche einfügen).


    Und dann formatierst du das ganze vielleicht auch mal halbwegs lesbar - Einrückungen, etc. - vielleicht wird's dann auch etwas durchschaubarer, in welcher/n Schleife(n) und wo was gezählt werden müsste.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      vielleicht solltest du den counter außerhalb der schleife deklarieren.
      vielleicht siehst du ein, dass
      PHP-Code:
      $counter $counter++; 
      falsch ist und benutzst stattdessen einfache inkrementierung ohne jegliche zuweisungen.
      vielleicht...

      Kommentar


      • #4
        hab die Lösung...

        ich habe die lösung gefunden...
        ich bin den umständlichen weg gegangen:

        1. über ordner auslesen und diese dann mittels arrays an weitere schleifen übergeben.
        2. von dort aus habe ich links mit diesem definiertem pfad ausgelesen.

        für die meisten mag es unvernünftig klingen es so umständlich zu programmieren und ohne eine funktion vorzugehen, ich sah aber keine andere möglichkeit die anforderung einer geschlossenen grafischen verbindung zwischen den ordnern und den darin enthaltenen links hinzubekommen. (Verbindungslinien mit Abzweigungen)

        mit meiner lösung bin ich in der lage den letzten ordner über
        PHP-Code:
        assort($arrayname);
        und
        end
        ($arrayname); 
        zu finden und den letzten link in der sitemap per abschlussgrafik zu markieren.

        zu wahsaga:
        Bitte Regeln lesen, und Code in [php]-Tags einfassen (falls erforderlich, Umbrüche einfügen).


        Und dann formatierst du das ganze vielleicht auch mal halbwegs lesbar - Einrückungen, etc. - vielleicht wird's dann auch etwas durchschaubarer, in welcher/n Schleife(n) und wo was gezählt werden müsste.
        nächstes mal beachte ich die regeln ok.
        hatte die einrückungen auch gesucht (wegen copy paste), war aber zu ungeduldig oder was auch immer, um mit euren tags zu arbeiten. Wie du siehst, hab ich ein wenig dazu gelernt.

        zu penizillin:
        außerhalb ging nicht. das wurde von der funktion ignoriert. initialisiert war es außerhalb der funktion, innerhalb wurde nur pro durchlauf um 1 erhöht. doch die zählung geschah nur in dem jeweiligen ordner nicht global. dort hat er nur die maximale zahl ermittelt, womit ich den letzten link nicht klar definieren konnte. nur den letzten link innerhalb einen ordners. trotzdem danke.

        Kommentar

        Lädt...
        X