Ergebnis 1 bis 9 von 9

Thema: Zufallsbild - Verzeichnistiefe beschränken

  1. #1
    n0mb3r
    Gast

    Standard Zufallsbild - Verzeichnistiefe beschränken

    Hi

    ich versuche für ein Zufallsbildscript die Verzeichnistiefe zu begrenzen. Das Script an sich funktioniert einwandfrei. Jedoch werden alle Unterverzeichnisse von §dir durchsucht. Eine Angabe der max_tiefe bringt keine Änderung.

    Hat hier vielleicht jemand eine Idee?

    Code:
    <?php
    
    $dateien = array&#40;&#41;;
    $start=time&#40;&#41;;
    
    get_dir&#40;"VALUE&#91;1&#93;",$start,"VALUE&#91;3&#93;","VALUE&#91;4&#93;",0&#41;;
    $breite = &#40;int&#41; "VALUE&#91;2&#93;";
    
    
    #Was gefunden?
    if &#40;count&#40;$dateien&#41; < 1&#41;
      &#123; echo "nix gefunden"; &#125;
    else
      &#123; # Array sortieren
        sort&#40;$dateien&#41;;
    
        # Zufall
        srand &#40;&#40;double&#41; microtime&#40;&#41; * 10000000&#41;;
        $rand_keys = array_rand &#40;$dateien, 2&#41;;
        $Zufallsbild = $dateien&#91;$rand_keys&#91;0&#93;&#93;;
        $dimensions = GetImageSize&#40;$Zufallsbild&#41;;
        echo "<div id=\"zbild\"><a href=\"$Zufallsbild\" target=\"_blank\">";
    
        if &#40;$dimensions&#91;0&#93; > $breite&#41;
          &#123; $divisor = $dimensions&#91;0&#93; / $breite;
            $hoehe = &#40;int&#41; &#40;$dimensions&#91;1&#93; / $divisor&#41;;
            $thumb = capiImgScale &#40;$Zufallsbild, $breite, $hoehe, false, false&#41;;
            echo "<img src=\"$thumb\" width=\"$breite\" height=\"$hoehe\""; &#125;
        else
          &#123; echo "<img src=\"$Zufallsbild\" width=\"$dimensions&#91;0&#93;\" height=\"$dimensions&#91;1&#93;\""; &#125;
    
        echo " style=\"border-width&#58;1px; border-color&#58;#000000;\" alt=\"Klick mich f&uuml;r eine Gro&szlig;ansicht &#40;neues Fenster&#41;\"></a></div>\n";
      &#125;
    
    function get_dir &#40;$dir,$startzeit,$zeitlimit,$max_tiefe,$aktuelle_tiefe&#41;
      &#123; global $dateien;
       
        $fp=opendir&#40;$dir&#41;;
        while&#40;$datei=readdir&#40;$fp&#41;&#41;
          &#123; if &#40;is_dir&#40;"$dir/$datei"&#41; && $datei!="." && $datei!=".."&#41;
              &#123; $aktuelle_tiefe++;
                if &#40;time&#40;&#41;-$starttime > $zeitlimit || $max_tiefe >= $aktuelle_tiefe&#41;
                  &#123; get_dir&#40;"$dir/$datei",$startzeit,$zeitlimit,$max_tiefe,$aktuelle_tiefe&#41;; &#125;
              &#125;
            else
              &#123; if &#40;strlen&#40;$datei&#41; > 4&#41;
                  &#123; $ext = strtolower&#40;substr&#40;$datei,-4&#41;&#41;;
                    if &#40;$ext==".jpg" || $ext==".gif" || $ext=="jpeg" || $ext==".png"&#41;
                      &#123;   $dateien&#91;&#93; = $dir . "/" . $datei; &#125;
                  &#125;
              &#125;
          &#125;
        closedir&#40;$fp&#41;;
       &#125;
    
    ?>
    Wäre für jede Hilfe Dankbar!

    Schöne Grüße
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    n0mb3r
    Gast

    Standard

    Sorry,
    hab ganz vergessen, wie das Ergebnis aussehen soll. Es gibt einen Verzeichnisbaum mit Bildern:
    Oberverz
    --UnterverzA
    ----Unterverz1
    ----Unterverz2
    --UnterverzB
    --UnterverzC
    ----Unterverz3
    ------Unterverza)

    Es sollen nun nur Bilder bis UnterverzA, B, C usw. angezeigt werden. Nicht weitere der Unterverz1, 2, 3 usw.

    Ist das möglich?

    Schöne Grüße

  3. #3
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    änder das hier:
    Code:
    if &#40;time&#40;&#41;-$starttime > $zeitlimit || $max_tiefe >= $aktuelle_tiefe&#41;
    auf das hier
    Code:
    if &#40;time&#40;&#41;-$starttime > $zeitlimit && $max_tiefe >= $aktuelle_tiefe&#41;
    Something big is coming. And there will be pirates and ninjas and unicorns...

  4. #4
    n0mb3r
    Gast

    Standard

    Hi,

    danke für die schnelle Antwort!

    Jetzt werden nur Bilder Aus dem Oberverzeichnis und dem ersten Unterverzeichnis UnterverzA angezeigt. Weiter (leider) nichts. Schonmal ein Teilerfolg also, da nicht mehr alle Unterverz angezeigt werden

    Ne Idee wie es geht, dass auch UnterverzB und C mit einbezogen werden?

    Schöne Grüße

  5. #5
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    was gibst du denn bei VALUE[4] für eine Zahl rein?
    Something big is coming. And there will be pirates and ninjas and unicorns...

  6. #6
    n0mb3r
    Gast

    Standard

    1

    bei 2 geht es ein Verzeichnis tiefer.

    -------------------------------ZUSAMMENGEFÜGTE BEITRÄGE-----------------------
    Noch ne Idee?


    Edit by isaBERLIN : Bitte in Zukunft keine Doppelposts sondern nutzen.

  7. #7
    n0mb3r
    Gast

    Standard

    Hi,

    habe das ganze noch mal genau unter die Lupe genommen:
    Die bei VALUE[4] eingegebene Zahl bestimmt die absolute Anzahl der Verzeichnisse die durchsucht und ausgegeben werden. Dabei wird nicht zwischen Ober- und Unterverzeichnissen unterschieden.
    Bei z.B. 5 werden Bilder bis UnterverzB angezeigt.

    Leider also keine Beschränkung der Ebenen vorgenommen.

    Kann man das irgendwie ändern?

    P.S.: Kann als Gast leider kein Edit machen; daher dieser Doppelpost


    Schöne Grüße

  8. #8
    Zufällig hier
    Gast

    Standard

    N'abend, hastes probeweise mal mit 0 für VALUE[4] probiert? Was passiert dann?

  9. #9
    Forum Guru
    Registriert seit
    04.04.2005
    Beiträge
    4.139
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Kleiner Tip am Rande.

    Inkrementieren von Variablen mit
    Code:
    ++$var;
    ist ein wenig schneller als mit der post inkrement variante
    Code:
    $var++;
    .

    Schau dir mal public variablen in Funtionen an, die wären nützlich wegen der Verzeichniss Tiefe.
    Facebook Gruppe: Böses Encoding

Ähnliche Themen

  1. Aktualisierung auf div beschränken
    Von Alienx im Forum HTML & CSS Forum
    Antworten: 3
    Letzter Beitrag: 10.04.2008, 22:27
  2. XP : Programme und Webseiten beschränken ?
    Von isaBERLIN im Forum Computer - Internet Forum
    Antworten: 4
    Letzter Beitrag: 23.12.2007, 12:04
  3. Im Formular die Zeichen beschränken
    Von Knüps im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 27.09.2006, 16:46
  4. Besteht die Möglichkeit ein Download zu beschränken
    Von cookies im Forum HTML & CSS Forum
    Antworten: 12
    Letzter Beitrag: 18.08.2005, 20:07
  5. Besteht die Möglichkeit ein Download zu beschränken
    Von cookies im Forum HTML & CSS Forum
    Antworten: 8
    Letzter Beitrag: 17.08.2005, 23:14

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •