1

Automatischer Bildwechsel mit PHP oder JS

Frage von jamaica2410 jamaica2410

Hallo, könnte jemand ein einfaches PHP-Script posten, das Bilder aus einem bestimmten Ordner automatisch (zufällig oder der Rheienfolge nach, egal) anzeigen würde. Wenn so etwas auch mit JS geht, ist es auch gut. Schonmal Vielen Dank, jamaica

Fragen zu gleichen Themen finden

Antworten (4)

  • 1
    Antwort von Michel1966 Michel1966

    Gibt es doch massenweise im Internet - einfach mal googeln.

    Javascript Lösungen:

    ww.google.de/search?sourceid=navclient&hl=de&ie=UTF-8&rlz=1T4GGIH_deDE282DE282&q=javascript+bildwechsel

    oder:

    ww.google.com/search?btnG=1&pws=0&q=Javascript+Diashow

  • 0
    Antwort von ddr2kpp ddr2kpp
        <?PHP
    $secs = 10; //<- Wartezeit bis zum naechsten Bild
    $dir = "images/gallerie"; // <- der Pfad zum Gallerie-Ordner
    $img_exts = array(".jpg",".gif",".png"); // <- Erweiterungen der Grafiken, einfach für weitere mit folgenden erweitern: [ ,".jpeg" ]
    
    /*
     * Ab hier nur noch Aenderungen vornehmen, wenn man auch weiss was man tun tut !!!
     */
    $curr = md5($_GET['curr']);
    $dp = opendir($dir);
    
    if (!$dp) {
      die("konnte Verzeichnis '$dir' nicht &ouml;ffnen");
    }
    $found = false;
    
    $first = "";
    while (($de = readdir($dp))) {
      foreach ($img_exts as $ext) {
    
    if (substr($de, strlen($ext) * -1) == $ext) {// $de enthaelt eine Bild-Datei
    
      $last = $de;
      if ($first == "") {
        $first = $de;
      }
      if (!$found) {
        if (($curr == md5(md5($de))) || ($curr == md5(""))) {$found = true;$curr = $de;
        } else {$prev = $de;
        }} elseif ($next == "") {
        $next = $de;}
        }
      }
    }
    closedir($dp);if ($next == "") {
      $next = $first;
    }
    if ($prev == "") {
      $prev = $last;
    }
    ?>
    

    Die Bilder liegen in den Variablen $prev (vorheriges), $curr (aktuelles), $next (nächstes). Um auf das vorhergehende bzw. nachfolgende Bild zuzugreifen das Script folgendermaßen aufrufen:

    gallery.php?curr=<?= md5($next) ?> // Nächstes Bild
    gallery.php?curr=<?= md5($prev) ?> // vorheriges
    

    anzeigenlassen der bilder mit

    <img src="<?= $prev ?>">
    <img src="<?= $curr ?>">
    <img src="<?= $next ?>">
    

    im <head>-Tag folgendes hinzufügen:

    <script type="text/javascript">
      function ddr_slideshow() {
        window.setTimeout("document.location.href='<?= $_SERVER['PHP_SELF'] ?>?curr=<?= md5($next) ?>'",<?= $secs * 1000 ?>);
      }
    </script>
    

    im <body> tag folgendes hinzufügen

    onLoad="javascript:ddr_slideshow();"
    

    Das ganze ist als Endlosschleife geschrieben, die Dateien werden in der reihenfolge gezeigt, wie sie auf der Platte liegen.

    Kommentar von ddr2kpp ddr2kpp

    Das komplette Script ist hier verfügbar: http://www.ddr-ware.de/projects/php/image-gallery/index.php

  • 0
    Antwort von xrezix xrezix

    also php ist meiner meinung nach vollkommen wichtig hier, da er auf einen ordner zugreifen will und da daten rausziehen möchte.

    ist nur mit einem serverseitigen script möglich.

    die umsetzung auf der seite ist dann mit jQuery und AJAX möglich. da hilft dir google dann sicher.

  • 0
    Antwort von bankingxxl bankingxxl

    Ich kenn mich da nicht im Detail aus, aber ich würde, eher nach Javascript schauen. PHP ist serverseitig, d.h. wenn die Seite erstmal erzeugt ist, ist sie statisch und müsste komplett neu erzeugt werden, um das Bild zu ändern.

Diese Frage

Verwandte Fragen

Noch nicht den richtigen Rat gefunden?

Einfach und schnell viele hilfreiche Ratschläge von Deutschlands aktivster Ratgeber-Community erhalten!

Einfach und schnell einen Tipp erstellen und Ihren guten Rat mit anderen teilen!

Einfach und schnell ein Video hochladen und anschaulichen Rat an alle geben!

Die unter gutefrage.net angebotenen Dienste und Ratgeber Inhalte werden nicht geprüft. Die Richtigkeit der Inhalte wird nicht gewährleistet. Rechtliche Hinweise finden Sie hier.