online 1
gast (50)

/ Forum / Webseiten/HTML

Webseiten/HTMLWebseiten/HTML

Fragevon S.Finke vom 04.06.2019, 13:25 Options

Wechselnde, aus einem Ordner ausgelesene Bilder auf der Website

Hallo zusammen,
ich bin derzeit damit beschäftigt, für meinen Abiturjahrgang eine Internetseite zu erstellen und habe mir gedacht, auf der rechten Seite der Website ständig wechselnde Bilder zu integrieren, die (am besten nach dem Zufallsprinzip) aus einem online verfügbaren Ordner ausgelesen werden, sodass ich, falls neue Bilder hinzukommen, diese einfach in den Ordner hochladen muss. Eine .gif-Animation scheitet also aus, da es sehr viele Bilder sein werden, die rotieren sollen und evtl. auch sändig neue hinzukommen und ich nicht jeden Tag eine neue Animation erstellen möchte. Meine Frage ist jetzt einfach, wie ich da am besten vorgehe bzw. in wie fern mein Vorhaben realisierbar ist?

Danke schonmal im Voraus!


Antwort schreiben

Antwort 1 von rfb vom 04.06.2019, 13:44 Options

es ist machbar - wenn dein Webspace über PHP (oder eine andere serverseitige Scriptsprache) verfügt und du dich damit etwas auskennst, zumindest soweit um die Egebnisse der Google-Suche mit den Stichworten "Zufallsbild PHP" auszuwerten.

Antwort 2 von mr.checker vom 04.06.2019, 14:54 Options

Ein Beispiel für PHP:

Wenn du z.B. 20 verschiedene Bilder hast, die "Bild1.jpeg" - "Bild20.jpeg" heißen, kannst du das z.B. so machen:


<img src="Bild<?php echo rand(1,20); ?>.jpeg" alt="Bild" />


Viele Grüße,

Thomas

Antwort 3 von Flupo vom 04.06.2019, 14:56 Options

Eine einfache Lösung wäre zum Beispiel, die Bilder mit Ziffern zu benennen. Mit php lässt sich eine Zufallszahl in einem bestimmten Bereich generieren, die dann in einen String umgewandelt als Variable für den Dateinamen verwendet werden kann.

Voraussetzung (wie rfb schon schrieb) php-fähiger Webspace.

Gruß Flupo

Antwort 4 von rfb vom 04.06.2019, 15:37 Options

@mr.checker & Flupo:
PHP kann Verzeichnisse auslesen - wenn S.Finke darüber verfügt, ist es völlig egal wie die Bilder heißen und wieviele es sind.
Wenn die Namen und die Anzahl der Dateien bekannt wären würde ja auch eine simple JavaScript-Variante reichen.

Antwort 5 von mr.checker vom 04.06.2019, 16:07 Options

Jo, das stimmt, ich kenne jedoch keine Zufallsfunktion für JS ;) Man hat ja sonst nichts zu tun...

Grüße,

Thomas

Antwort 6 von rfb vom 04.06.2019, 16:37 Options

Nachhilfe: Math.random()

Antwort 7 von rfb vom 04.06.2019, 23:35 Options

Zitat:
simple JavaScript-Variante
dies im head:
<script type="text/javascript">
function bildperzufallladen () {
var bilder=["bild.jpg", "noch_ein_bild.jpg", "anderes_bild.jpg", "letztes_bild.jpg", "standard.jpg"];
var zufall=Math.floor(Math.random() * bilder.length);
var wohin = document.getElementById("dasBild");
if (wohin) wohin.src = bilder[zufall];
}
window.onload=function () {
bildperzufallladen ();
}
</script>


und das Bild im body:
<img src="standard.jpg" alt="ein zufälliges Bild" id="dasBild">


Aber - wie angedeutet - hierfür müsste für jedes neue Bild der Quellcode erweitert werden, da JavaScript keinen Zugriff auf Verzeichnisse hat.

Antwort 8 von S.Finke vom 05.06.2019, 13:16 Options

Hallo zusammen,
erstmal vielen Dank für eure schnellen Antworten. Habs mitlerweile hinbekommen :-) :

<?php 
function getFiles($dir)  
{ 
    static $files; 
     
    $allowed_file_extensions = array(); 
    $allowed_file_extensions[] = 'gif'; 
    $allowed_file_extensions[] = 'bmp'; 
    $allowed_file_extensions[] = 'jpg'; 
    $allowed_file_extensions[] = 'jpeg'; 
    $allowed_file_extensions[] = 'png'; 
     
     
    $len = strlen($dir); 
    if($dir{$len-1} == '/') 
        $dir = substr($dir, 0, $len-1); 
     
    if(!is_dir($dir)) 
        return false; 
         
    $open = @opendir($dir); 
     
    if(!$open)  
        return false; 
     
    while($file = readdir($open)) {         
        if($file == "." || $file == "..")     
            continue; 
         
        if(is_dir($dir.'/'.$file)) { 
            getFiles($dir.'/'.$file); 
        }     
             
        $e = explode('.', $file); 
        $ext = $e[ count($e)-1 ]; 
         
        if( is_file($dir.'/'.$file) && in_array($ext, $allowed_file_extensions) ) { 
            $files[] = $dir.'/'.$file; 
        } 
    } 
     
    return $files; 
} 


$files = getFiles('picz/slideshow'); 
$rand = mt_rand(0, count($files)-1); 

echo '<a href="galerie.php"><img  src="'. $files[ $rand ] .' " width="189" height="132" align="center" /></a>'; 
?>


Nun habe ich allerdings erneut eine Frage. Ich möchte nun aus einem auf der Website gespeicherten Ordner sämtliche Bilder auslesen und zunächst auf einer Seite in verkleinerter Form erscheinen lassen, d.h. ich möchte eine Galerie haben, die sich selbst mit Bildern füllt ;-) . Ein Klick auf das verkleinerte Bild soll ein Fenster öffnen, in welchem selbiges in Originalgröße zu sehen ist. Wäre für Antworten sehr dankbar...

Gruß
S. Finke

Antwort 9 von Flupo vom 05.06.2019, 13:23 Options

Wenn's nicht unbedingt dynamisch sein muss, kann ich JoJoThumb wärmstens empfehlen.
Man kann das Design der Galerie sehr flexibel gestalten und wenn man einmal sein Profil erstellt hat, ist nachträgliches Hinzufügen weiterer Bilder eine Sache von Sekunden. Das Ergebnis muss dann nur neu hochgeladen werden (bzw. nur die neuen oder geänderten Dateien).

Gruß Flupo

Ähnliche Themen

Ordner EIGENE BILDER löschen?
Sepp_  06.02.2007 - 183 Hits - 3 Antworten

ordner-bilder werden nicht angezeigt
samuyel  30.03.2007 - 88 Hits - 2 Antworten

Ordner entfernen ?
Bruti  17.07.2007 - 51 Hits - 1 Antwort

Bilder
flightsimmer  08.09.2007 - 16 Hits - 4 Antworten

Image Downloader - alle Bilder einer Website Downloaden
mexxa  26.05.2008 - 73 Hits - 27 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026