Banner abwechslungsweise anzeigen lassen

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

  • Banner abwechslungsweise anzeigen lassen

    Wie kann ich einen Banner auf meiner Seite anzeigen lassen, sodass bei jedem Reload ein anderer erscheint?
    Hochachtungsvoll
    pingzaong

  • #2
    Ist nicht dein Ernst ?
    Alle Banner in ein Verzeichnis. Verzeichnis mit glob() in Array auslesen. Array mittels shuffle() zufällig sortieren. Den ersten Banner zum Anzeigen auswählen.

    Et voilà

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Lösung

      ja, es war tatsächlich mein Ernst. Im Nachhinein ist es wirklich nicht schwer. Dankeschön!
      Hier die Lösung :

      PHP-Code:
      foreach(array(glob("verzeichnis/*")) as $banner) {
          
      shuffle($banner);
          echo 
      "<img src=$banner[0]>";

      Hochachtungsvoll
      pingzaong

      Kommentar


      • #4
        So macht der Code aber keinen Sinn....
        PHP-Code:
        foreach(array(glob("verzeichnis/*")) as $banner) {
        //glob gibt dir schon ein Array zurück
        //foreach brauchst du nicht, weil du nur das erste Element anzeigen willst
        //shuffe() funzt nur mit Arrays, du versuchst es auf einen String anzuwenden

        $temp glob('verzeichnis/*.jpg'); // sonst kriegst du alles im Verzeichnis auch ne .htaccess
        shuffe($temp);
        //erstes Element anzeigen
        echo $temp[0]; 
        Wundert es dich nicht, dass trotz shuffle() immer das gleiche Bild angezeigt wird ??


        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Du hast Recht, foreach braucht es wirklich nicht. Es geht auch ohne. Aber bei mir funktionierte es trotzdem.
          Trotz shuffle zeigte es mir jedes Mal ein anderes Bild.

          Warum einfach, wenn es auch kompliziert geht?
          Hochachtungsvoll
          pingzaong

          Kommentar


          • #6
            Jetzt habe ich deinen Code begriffen Da glob() bereits ein Array zurückgibt und du dieses wiederum als Element eines übergeordneten Arrays einbaust ist $banner natürlich auch ein array und darum funzt shuffle() auch so.
            Wenn du es aber so geschrieben hättest (und so habe ich es zuerst verstanden)
            PHP-Code:
            foreach(glob("verzeichnis/*") as $banner) {
            //$banner ist nun ein String 
            dann hätte shuffle() einen Fehler werfen müssen.

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              richtig verlinken?

              nun das zweite Problem:

              wie kann ich den Banner, der jeweils angezeigt wird, richtig verlinken?
              Ohne dass ich eine DB benötige?
              Hochachtungsvoll
              pingzaong

              Kommentar


              • #8
                Leg dir ne txt Datei an:
                Code:
                name_des_bildes.jpg;pfad_zu_seite
                ...
                PHP-Code:
                $datei 'deine_text.txt';
                $cont file($datei);

                function 
                url_retr($search){
                    foreach(
                $cont as $wert){
                        if(
                strpos($search,$wert) !== false){
                            
                $temp explode(';',$cont);
                            return 
                $temp[1];
                        }
                    }

                So in der Art würde ich das mal probieren.

                Gruss

                tobi
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  OffTopic:
                  Was wäre, wenn du erstmal selbst über das Problem nachdenkst, ausprobierst, deine ansätze postest und sagst, wo es hapert? so wirds normalerweise hier gemacht. ansonsten kannst du auch gerne weiter jahlives für dich ackern lassen

                  Kommentar


                  • #10
                    ansonsten kannst du auch gerne weiter jahlives für dich ackern lassen
                    OffTopic:

                    Heute haben so viele Börsen geschlossen und trotzdem müssen wir im Büro sein --> sehr wenig arbeit && viel Zeit für's Web



                    Gruss

                    tobi
                    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                    Kommentar


                    • #11
                      @TobiaZ

                      Hmm, stimmt, du hast Recht. Eigentlich bin ich auch an etwas anderem am Programmieren. Dies machte ich nebenbei.

                      Ich schreibe dafür die Lösung hin, wenn ich sie habe!
                      Hochachtungsvoll
                      pingzaong

                      Kommentar


                      • #12
                        Ich schreibe dafür die Lösung hin, wenn ich sie habe!
                        Ich dachte, das macht jah für dich

                        Kommentar

                        Lädt...
                        X