Ankündigung

Einklappen
Keine Ankündigung bisher.

Per PHP Hintergrundbilder zufällig wechseln

Einklappen

Neue Werbung 2019

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

  • Per PHP Hintergrundbilder zufällig wechseln

    Hallo, da ich bei Google nur veraltete Sachen gefunden habe, die anscheinend nicht mehr funktionieren, frage ich hier jetzt.

    Auf meiner Seite soll beim Neu laden immer zufällig ein neues Hintergrundbild eingestellt werden.

    PHP-Code:
     <?php    

    $dir 
    "background";

    //Ordner mit allen Hintergrundbildern    

    $handle opendir($dir);    

    while(
    $file readdir($handle))    {    
     
    if(@
    getimagesize("$dir/$file"))  
         
    $bg[] = "$dir/$file";  
     }  

     
    $background $bg[array_rand($bg)];  ?>
    Da dieser Code bei mir nicht funktioniert, frage ich hier...

    Danke schonmal!

  • #2
    Wow. Zwar mit etwas Hilfe, aber dennoch Selbstständig habe ich es durhc logisches Denken selbst hingekriegt! Cool. Für die Nachtwelt löse ich mal auf.

    Das hier funktioniert:

    PHP-Code:

        
    //Deine Bilder sollten in diesem Beispiel "hintergrund1.jpg", "hintergrund2.jpg" und so weiter heißen...

        
    $rand rand(16); // Wenn Du 6 Bilder hast, dann lass es so, wenn nicht, dann trage die Zahl ein, die Du benötigst.

        
    $dir opendir("backgrounds"); //Hiermit bestimmst Du den Ordner, wo die Bilder drin sind. ( In meinem Fall heißt er "backgrounds" )

        
    $bg "hintergrund".$rand."."."jpg"//hier der String, den Du vorher mit "echo $bg" ausprobieren kannst, wenn sowas wie "hintergrund1.jpg", oder was ähnliches rauskommt, ist alles ok. 
    Code:
    <style type="text/css">
    /*Zu guter letzt das hier im Body am besten einfügen: */
    
    html, body { background-image: url(backgrounds/<?php echo $bg; ?>); background-repeat: no-repeat; background-size: 100%; background-attachment: fixed; }
    </style>
    Bitte schön!

    Kommentar


    • #3
      Wobei du dir diese Zeile sparen kannst, da sie keine Anwendung findet
      PHP-Code:
      $dir opendir("backgrounds"); 

      Kommentar


      • #4
        PHP-Code:
          body { background-image: url(backgrounds/<?php echo 'hintergrund'.rand(1,6).'.jpg'?>);...
        warum html und body den gleichen Hintergrund bekommen, kann ich nicht nachvollziehen...

        Kommentar


        • #5
          Hmm.. Stimmt.

          Und ob body, oder html, body, ist ja eigentlich egal...

          Kommentar


          • #6
            Das Script ist aber nicht schön, da die Namesgebung vorgegeben ist. Besser ist, ein Verzeichis mit glob auszulesen, das entstehende Array mit shuffle durcheinnader zu bringen und dann das erste Element aus dem Array zu nhe
            Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

            Kommentar


            • #7
              Mit glob ist es auch einfach Bilder auszuwählen, die in mehreren Verzeichnissen abgelegt sind.
              Hier ein reales Beispiel. Die Bilder sind in mehreren Verzeichnissen untergebracht. Jedes Verzeichnis enthält hier konkret eine bestimmte Tour. Es existiert immer ein Bild1 als Startbild. Als Tipp des Tages wird mit dem nachfolgenden Code immer das Startbild von einer pseudozufälligen Tour angezeigt:
              PHP-Code:
                  //Startbild tagesabhängig
                  
              $pathBilder glob($tourenPath."/*/bild1.jpg");
                  
              $rndIndex date('z') % count($pathBilder);
                  
              $imgsrc $pathBilder[$rndIndex]; 

              Kommentar

              Lädt...
              X