[Funktion] Problem mit Ermitteln von mehreren Zufallsbildern

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

  • [Funktion] Problem mit Ermitteln von mehreren Zufallsbildern

    Hi!

    Ich habe eine Seite auf welcher 5 Zufallsbilder ausgegeben werden sollen.
    Für jedes Bild gibt es einen Ordner, in welchem sich alle Bilder befinden welche für das jeweilige Bild in Frage kommen. Also gibt es z.B. für Bild 1 den Container 1 mit 4 Bild-Dateien drin, für Bild 2 den Container 2 mit 3 Bildern usw.

    Dazu verwende ich folgende Funktion:
    PHP-Code:
    function randompic($folder) {     
     
    $ordner "content/dyn_pics/".$folder."";
     if (
    file_exists($ordner)) {
         
    $img = array();
      
    $handle opendir("$ordner");
      while (
    $datei=readdir($handle)) {
       if (
    is_file($ordner."/".$datei)) {
        if (
    eregi(".jpg"$datei) || eregi(".jpeg"$datei) || eregi(".gif"$datei) || eregi(".png"$datei) || eregi(".bmp"$datei)) {
          
    $img[] = $ordner "/" .$datei;
        }
       }
      }
     }
     
    $count count ($img);
     if (
    $count) {
      
    srand((double)microtime()*1000000);
      
    $num rand("0"$count);
      
    $picture=$img[$num];
     } 
     else 
    $picture=$img[0];
     return(
    $picture);

    Es wird hier ein Ordnername eingeworfen und ein beliebiges Bild aus dem Ordner wird zurückgegeben (bzw. dessen Pfad).

    weiter geht es in meinem Script so:
    PHP-Code:
    srand ((double)microtime()*1000000);
    //$rand1 = "".randompic("container_1")."";
    $rand2 "".randompic("container_2")."";
    $rand3 "".randompic("container_3")."";
    $rand4 "".randompic("container_4")."";
    $rand5 "".randompic("container_5")."";
    //$rand6 = "".randompic("container_6")."";
    //$rand7 = "".randompic("container_7")."";
    //$rand8 = "".randompic("container_8").""; 
    danach folgt noch der ganze html Kram wo die Bilder $rand2-5 ausgegben werden sollen.
    Eigenltich funzt auch alles, aber irgendwie werden nicht immer alle Bilder angezeigt. Ihr könnt das selber hier ansehen: http://www.tattoo-spirit.de/home2.php (betroffen sind die Boxen 2-5).
    Um den fehler zu sehen muss man ggf. ein paar mal reloaden.

    Ich habe keinen blassen Schmimmer woran das liegen könnte. Hat jemand von euch einen Rat??

    Viele Grüße
    F. Eric

  • #2
    da wird offensichtlich keine bildurl angegeben. woran das liegt, sollte sich rausfinden lassen.

    Kommentar


    • #3
      Wie darf ich das verstehen?

      Der html code sieht etwa so aus: <img src="<?=$rand2?>">
      In der Regel funzt es ja auch nur wird ab und zu das ein oder andere bild nicht angezeigt.
      Für mich ist das unerklärlich

      Kommentar


      • #4
        Wie darf ich das verstehen?
        im source finden sich definitionen &agrave; la
        Code:
        <img src="" ...>
        und wenn der nicht so dermaßen mies wäre, würde man das auch sehen, ... unter der voraussetzung, daß man ihn sich überhaupt anschaut.
        Für mich ist das unerklärlich
        ja, das sieht man.

        - erhälst du fehlermeldungen?
        - setz mal das error_reporting auf E_ALL.
        - hast du schonmal debug-ausgaben an den entsprechenden stellen gemacht?
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          Hi,
          @Tobiaz: Hab dich irgendwie missverstanden und konnte mit deiner Aussage nichts anfangen *g*

          Also Fehlermeldungen erhalte ich keine (wie man ja in meinem Bsp. sehen kann)

          die Debug-Abfragen haben ergeben, dass die Abfrage
          if (is_file($ordner."/".$datei)) { ....... } false ergibt (Aber nicht immer!!!mal kommt's mal nicht..)

          Ich kenn mich mit diesen ganzen Ordner/Dateifunktionen nicht so gut aus, kann mir jemand sagen woran das liegen könnte?!

          edit: eben erst gemerkt:
          ein "Notice: Undefined offset: 4 in /var/httpd/tattoo-spirit.de/home2.php on line 38"
          kommt auch plötzlich.
          Das ist die Zeile $picture=$img[$num];
          Zuletzt geändert von F. Eric; 04.10.2004, 17:27.

          Kommentar


          • #6
            dann gibts img[4] wohl nicht. deswegen testausgaben!

            Kommentar


            • #7
              Re: [Funktion] Problem mit Ermitteln von mehreren Zufallsbildern

              wenn du vier bilder im ordner hast, dann ergibt count() natürlich auch die zahl 4.
              die einträge in deinem array sind aber mit welchen indizes durchnummeriert? 0, 1, 2 und 3 natürlich.

              PHP-Code:
              $num rand("0"$count); 
              liefert jetzt aber zufallszahlen zwischen 0 und 4, die grenzen jeweils inklusive - einen array-index 4 gibt es aber nicht, s.o.

              also ziehe vom zweiten parameter für rand() einfach noch 1 ab.

              btw: wieso die 0 in anführungszeichen? leute, lernt doch endlich mal zwischen strings und zahlen zu unterscheiden!
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Danke für die Antworten, wird mir sicher weiterhelfen!
                Ich werd mich dann wohl doch noch etwas mit Datei- und Ordnerfunktionen auseinandersetzen müssen..

                btw: Die Funktion stammt nicht von mir, sondern von irgendeiner Seite bzw. Forum, daher blick ich die erstrecht nicht.

                Danke trotzdem
                Grüße

                Kommentar

                Lädt...
                X