Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Random Picture - How to?

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Random Picture - How to?

    Grüße!

    ich ahbe schond es öfteren auf diversen page diese "5 minuten ruhm" sektion gesehen, dh. die HP nimmt ein bild per random und zeigt es an, aber wie genau macht man das? konnte leider nichts per google finden

    tia


  • #2
    100 möglichkeiten.
    entweder den bildern fortlaufende zahlen als namen geben
    und dann mit rand() einen datein namen generieren..


    oder eine andere möglichkeit...
    Klick mich


    Kommentar


    • #3
      es gibt viele art und weisen so etwas zu realisieren..

      glaub nicht, das man so was bei google ned findet..
      Wie man Fragen richtig stellt

      Kommentar


      • #4
        Wie stellst du dir denn vor, dass es funktionieren könnte?

        Kommentar


        • #5
          Wie jetzt, einfach nur Zufallsbilder ausgeben ?

          Bilder aus einen Ordner in ein Array() einlesen, und dann nur per Zufall eines aus dem Array ausgeben ... oder nicht ?
          Dazu muss man nicht einmal die Namen der Bilder durchnummerieren ...

          Kommentar


          • #6
            "5 Minuten Ruhm" funktioniert wohl so, dass egal wer auf die Seite zugreift, zwischen 15.55 und 16.00 Uhr soll nur PersonX angezeigt werden, wenn jemand um 16.01 darauf zugreift, ist schon wieder PersonY im Rampenlicht...

            Nur durch Zufalls ist das also nicht zu lösen, eine Zuordnung Zeitspanne-Bild muss schon irgendwo definiert sein (Dateiname, Array, ..)

            Kommentar


            • #7
              Hmmm, »5 Minuten Ruhm« sagt mit jetzt nicht wirklich viel, aber ist das Prinzip nicht ähnlich wie »Bilder zur bestimmten Tageszeit ausgeben« ?
              Glaube ähnliche Threads hier schon gelsen zu haben.

              Kommentar


              • #8
                Vielleicht holst du dir hier ein paar Anregungen.
                http://forum.developers-guide.net/showthread.php?t=157

                Beachte, dass du absichern solltest, dass nicht ein Bild per Zufall mehrere Male hinter einander dargestellt wird.
                Das kannst du z.B. mit einem Statusfeld in der Datenbank und einer if-Abfrage lösen.

                Spiel mal was rum. Bringt dir definitiv mehr, als eine fertige Lösung.

                Grüße Ben.
                privater Blog

                Kommentar


                • #9
                  Wie jetzt?

                  Zitat von ;268073
                  Wie jetzt, einfach nur Zufallsbilder ausgeben ?

                  Bilder aus einen Ordner in ein Array() einlesen, und dann nur per Zufall eines aus dem Array ausgeben ... oder nicht ?
                  Dazu muss man nicht einmal die Namen der Bilder durchnummerieren ...
                  Ich will einfach nur Bilder aus einem Ordner, also kein "5 Minuten Ruhm",
                  zufällig ausgeben.
                  Ich hab mir das mal zusammengebaut aus einem anderem HOW-TO..
                  Was muss ich noch machen, damit es funktioniert?
                  Ich weiß das ich für path den Ordner angeben muss. Aber sonst habe ich nichts weiteres verstanden.

                  Vielen Dank schon jetzt fürs Antworten

                  Viele Grüße

                  Karpel

                  PHP-Code:

                      resource opendir  
                  string $path  [, resource $context  ] );
                           
                  string readdir  resource $dir_handle  );
                           
                  void closedir  resource $dir_handle  );
                           
                  bool shuffle  ( array &$array  ); 

                  Kommentar


                  • #10
                    also am besten machst du das so:

                    Code:
                        $dir = "./images/";
                    für './images/' musst du natürlich den ordner einsetzen in dem deine bilder sind - das öffnet das verzeichnis

                    dann:

                    Code:
                        $myarray;
                        $counter = 0;
                        if (is_dir($dir)) 
                        {
                             if ($dh = opendir($dir)) 
                             {
                                while (($file = readdir($dh)) !== false) 
                                {
                                    array_push($myarray,$file);
                                    $counter = $counter+1;
                                    // oder '$counter++;' macht das selbe ;)
                    
                                }
                            }    
                                  
                       }
                    Jetzt ist das array voll mit den dateien aus dem verzeichnis!
                    Die Anzahl der Elemente des Arrays ist nun 'counter + 1'!

                    Nun suchen wir ein zufälliges image aus:

                    Ich als c++ Programmierer würde das so machen:
                    Code:
                        $BildNr = rand() % ($counter + 1);
                        $Bild = $myarray[$BildNr];
                    Ein php coder würde es wohl so machen:

                    Code:
                        $BildNr = rand(0,$counter);
                        $Bild = $myarray[$BildNr];
                    Aber egal... in beiden fällen hast du nun den dateinamen einer zufälligen datei in $Bild stehen und kannst di im html-code wo auch immer du es brauchst einfügen!

                    Hoffe geholfen zu haben! (und dass der code funktioniert... hab zur zeit keinen php interpreter bei der hand! - sonst einfach wieder melden )

                    achja und wenn du genügend bilder in deinem Verzeichnis hast (mehr als 50 oder so) brauchst du imho auch nichts zu machen, damit ein bild nicht zwei mal hintereinander gezeigt wird... so gut sollten die randomizer algorithmen inzwischen sein

                    wenn du nur 3 bilder hast, würd ich mir deswegen schon gedanken machen

                    grüsse

                    Kommentar


                    • #11
                      Also so:

                      Hi,
                      erstmal vielen Dank...
                      Ich muss also irgendwo oben in der Datei schreiben:
                      PHP-Code:
                      $myarray;
                          
                      $counter 0;
                          if (
                      is_dir($dir)) 
                          {
                               if (
                      $dh opendir($dir)) 
                               {
                                  while ((
                      $file readdir($dh)) !== false
                                  {
                                      
                      array_push($myarray,$file);
                                      
                      $counter $counter+1;
                                      
                      // oder '$counter++;' macht das selbe ;)

                                  
                      }
                              }    
                                    
                         } 
                      Und dann an die Stelle wo ich es haben will:

                      PHP-Code:
                      $BildNr rand(0,$counter);
                          
                      $Bild $myarray[$BildNr]; 

                      Sorry, dass ich nochmal frag, aber ich kann php eigentlich gar nicht.
                      Kann nur gut mit HTML und CSS umgehen.

                      Vielen Dank

                      Karpel

                      Kommentar


                      • #12
                        Gute Nacht.
                        Ich guck morgen nomal.
                        Danke

                        Kommentar


                        • #13
                          gibt dafür hunderttausend möglichkeiten; aber ja so wie du es beschreibst sollte es funktionieren!

                          zuerst das array füllen, dann ausgeben ... so lange du das beherzigst sollte nichts schiefgehn

                          grüsse

                          Kommentar


                          • #14
                            Das geht auch mit drei Zeilen:
                            PHP-Code:
                            $files glob('$dir');
                            echo 
                            shuffle($files);
                            echo 
                            $files[0]; 
                            Gruss
                            L

                            Kommentar


                            • #15
                              Zitat von Karpel Beitrag anzeigen
                              Sorry, dass ich nochmal frag, aber ich kann php eigentlich gar nicht.
                              Kann nur gut mit HTML und CSS umgehen.
                              Das sind doch beste Voraussetzungen für folgendes Tutorial:

                              #php/QuakeNet Tutorial - Einführung



                              Grüße
                              Das Psy
                              "Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)

                              Kommentar

                              Lädt...
                              X