Probleme mit Zufallsbild per PHP

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

  • Probleme mit Zufallsbild per PHP

    Hallo,

    ich habe ein Problem welches ich nicht lösen kann!!!! Ich verstehe es auch nicht!!!!

    Auf meiner Seite habe ich zwei PHP Skripte laufe um Zufallsbilder anzuzeigen!

    1.
    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Unbenanntes Dokument</title>
    </head>

    <?php
    $vn = "./topimage";
    $verzeichnis = opendir($vn);
    while($file = readdir($verzeichnis)) {
    $s = @getimagesize($vn."/".$file);
    if(in_array($s[2], array(1,2,3)))
    $auswahl[] = $file;
    }
    mt_srand((double)microtime()*1000000);
    $number = mt_rand(0,count($auswahl)-1);
    echo "<img height='165' width='934' src='".$vn."/".$auswahl[$number]."'>";
    ?>

    <body>
    </body>
    </html>


    2.

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Unbenanntes Dokument</title>
    </head>

    <?php
    $vn = "./topimage2";
    $verzeichnis = opendir($vn);
    while($file = readdir($verzeichnis)) {
    $s = @getimagesize($vn."/".$file);
    if(in_array($s[2], array(1,2,3)))
    $auswahl[] = $file;
    }
    mt_srand((double)microtime()*1000000);
    $number = mt_rand(0,count($auswahl)-1);
    echo "<img width='500' src='".$vn."/".$auswahl[$number]."'>";
    ?>

    <body>
    </body>
    </html>


    Das Problem ist folgendes, das Kript 1 läuft ohne Probleme, nur das Skript 2 zeigt zum Teil keine Bilder an. Wenn ich ich auf den Link schaue, scheint es so, als ob ein Bilde aus dem Ordner topimage geladen werden soll. Diese sind aber nicht im Ordner thopimage2. So wird natürlich kein Bild gezeit!!!

    Dieses Skript sagt doch eigentlich nur, das ein Bild aus einem bestimmten Ordner geladen werden soll. Wieso dann dieser Fehler???

    Ich kann mir das nicht erklären!!!!

    Auf dieser Seite sollten normal 3 Logos angezeigt werden! Was aber nicht immer klappt! R6

    Könnt ihr mir helfen????
    ----------------------------
    www.dennislischo.de

  • #2
    Warum zeigst du die Bilder vor dem HTML-Body an?
    This is what happens when an unstoppable force meets an immovable object.

    Kommentar


    • #3
      Das wird er schon wissen warum ...
      Ist doch bestimmt eh nur ein Test ...
      Außerdem siehts gleich aus in diesem Beispiel ..

      Also wayne...

      Kommentar


      • #4
        Weiß jetzt nicht was ihr meint!!!!

        Ich habe dieses Skript so gefunden. Es ist ein freies Skript und ich habe zuerst das obere Banner eingebunden. Dieses hat ja immer gut funktioniert!!! Dann habe ich versucht auf diesen Weg nach Zufall Sponsorenlogos einzubinden. Dieses funktioniert aber nicht so gut und ich verstehe nicht wieso!

        Und es ist kein Test!!!!!
        ----------------------------
        www.dennislischo.de

        Kommentar


        • #5
          3 Bilder?
          Zufällig?

          Tipp:
          Schmeiß den komplizierten Schrott, den du nicht verstehst, weg!

          Verwende stattdessen:
          glob()
          shuffle()
          array_slice()
          und foreach für die Ausgabe
          Das kannst du leichter verstehen und damit auch anwenden.

          Und die Ausgabe gehört wirklich nicht außerhalb des Bodys Tags.
          Wir werden alle sterben

          Kommentar


          • #6
            im übrigen, wenn alle Bilder in /topimage liegen, dann änder doch mal den PFad $vn im 2ten Script entsprechend ab, dass er eben nicht nach /topimage2 zeigt ...

            kann ja nicht so schwer sein, wenn die Pfade da im Klartext stehen
            [font=Verdana]
            Wer LESEN kann, ist klar im Vorteil!
            [/font]

            Kommentar


            • #7
              Zitat von eagle275 Beitrag anzeigen
              im übrigen, wenn alle Bilder in /topimage liegen, dann änder doch mal den PFad $vn im 2ten Script entsprechend ab, dass er eben nicht nach /topimage2 zeigt ...

              kann ja nicht so schwer sein, wenn die Pfade da im Klartext stehen
              Nein nein, das ist ja das was mich wundert!!!!
              Die topimage am Kopf sind alle im Ordner topimage. Die Logos (Bilder von 2) der Sponsoren sind im Ordner topimage2! Warum das Skript topimage2 teilweise Logos die eigentlich in nicht in topimage2 liegen anzeigen möchte, dass ist mein Fragezeichen!
              ----------------------------
              www.dennislischo.de

              Kommentar


              • #8
                sieht so aus, als laufen beide Scripte im gleichen Kontext? - dann ändere mal die Variablen-Namen im 2ten Script .. (besonders $auswahl[]) - es sieht zumindest so aus, als ob das 2te Script die Variablen vom ersten Script nicht überschreibt, sondern "mitbenutzt" - also mischen sich die Ergebnisse vom 2ten mit denen vom ersten ... und so hast du dann die falschen Bilder (bzw die falschen Pfade) ...
                [font=Verdana]
                Wer LESEN kann, ist klar im Vorteil!
                [/font]

                Kommentar


                • #9
                  Das scheint ein Ansatz zu sein! Ich verstehe zwar nicht, wie diese Skripte überhaupt im selben Kontext laufen können und sich so stören, aber ich werde hier mal etwas probieren!

                  Danke!
                  ----------------------------
                  www.dennislischo.de

                  Kommentar


                  • #10
                    das mit dem gleichen Kontext kommt wohl daher, dass du beide Scripte über include oder require einbindest in dein haupt-script ...

                    damit wird dann im Grunde der QuellText der Hauptdatei ergänzt um die jeweils include-ierten Teile ... zu einem großen Quelltext auf dem Server -

                    damit hast du quasi automatisch Zugriff auf die Variablen der anderen Script-Teile, die vorher geladen wurden ... es sei denn du verwendest OOP, damit kannst du die Sichtbarkeit solcher Variablen beeinflussen ..

                    eine andere Möglichkeit wäre, den Code für deine Zufallsbilder in eine einzige Funktion zu bündeln, der du das Verzeichnis der Bilder jeweils übergibst ...

                    da diese Funktion im 2ten Script neu aufgerufen wird, hat sie quasi zwangsweise das vorherige Feld mit Bild-Namen vergessen - und baut es neu mit dem richtigen Pfad
                    [font=Verdana]
                    Wer LESEN kann, ist klar im Vorteil!
                    [/font]

                    Kommentar

                    Lädt...
                    X