Supportnet Computer
Planet of Tech

Supportnet / Forum / Webseiten/HTML

Wechselnde, aus einem Ordner ausgelesene Bilder auf der Website





Frage

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 1 von rfb

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

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

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

@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

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

Nachhilfe: Math.random()

Antwort 7 von rfb

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

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

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

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: