#1

piotr

Forum-Sponsor  (250 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 https://www.tukhut.nl

Ich habe vor kurzem für einen Kunden ein kleines "Bild des Tages" Script angefertigt.

Allgemein
Das Script ist angefertigt in PHP und zeigt für jeden Tag ein anderes Bild auf deiner Homepage.
Die Bildauswahl ist nicht "ad random" sondern bei jeder Wechslung wird das nächste Bild genommen.
Wenn das letzte Bild aus der Liste gezeigt worden ist, wird als nächstes wieder das erste Bild gezeigt (Loop-Funktionalität).
Das Script funktioniert eigentlich mit jeder Anzahl von Bilder, bis eine Anzahl von max. 365 (oder 366).
Mit zum Beispiel einer Anzahl von 20 verschiedenen Bilder, kann man jedoch schon eine ordentliche "Abwechslung" erreichen.
Das Script funktioniert nur mit Bilder im .jpg Format.

Demo
Ein Demo dieses Scriptes ist hier zu finden ...

Vorbereitung
Man muss (z.B. per FTP) einen separaten Ordner für dieses Script anfertigen, hier: "linski_iotd".
Dieser separate Ordner darf nur Bilder enthalten die mit diesem Script angezeigt werden sollten, also keine andere Datein.
Die Bilder sollten die folgenden Namen bekommen: 0.jpg -- 1.jpg -- 2.jpg -- 3.jpg -- ...... -- 19.jpg -- 20.jpg.
Die Bilder sollten im Idealfall (sieht optisch schöner aus) die gleiche Abmessungen haben (zumindest die gleiche Verhältnisse zwischen Länge und Breite).
Die Bilder können dann per FTP in diesen separaten Ordner hochgeladen werden.
Das beigefügte Script kann eingebunden werden:
-- in Siquando Web 11: Absatztyp: HTML-Element (nicht vergessen die Seite / Homepage hochzuladen !!!)
-- in Siquando Pro Web 5: Absatztyp: PHP-Clip.

Das Script selbst
In jede Zeile die mit "//" anfängt, wird genau erklärt was in der nächsten Zeile gemacht wird.
Die Zeilen echo 1 bis echo 8 sind da um Dir zu helfen das Script optimal zu justieren.
Wenn alles ordentlich funktioniert, können die Zeilen echo 1 bis echo 8 mit Anwendung von "//" ausgeschaltet werden.

<?php

// Was ist die aktuelle Zeitzone des Servers deines Providers?
echo '1 Aktuelle Zeitzone: '.date_default_timezone_get().'<BR>';

// Was ist das aktuelle Datum/Zeit des Servers deines Providers?
echo '2 Aktuelles Datum und Zeit: '.date('Y-m-d H:i:s').'<BR>';

// Hier können Sie die aktuelle Zeitzone des Servers Ihres Providers ändern.
date_default_timezone_set("Europe/Berlin");

// Hier wird die neu eingestellte Zeitzone des Servers Ihres Providers angezeigt.
echo '3 Neue Zeitzone: '.date_default_timezone_get().'<BR>';

// Hier wird das neu eingestellte Datum/Zeit angezeigt.
echo '4 Neues Datum und Zeit: '.date('Y-m-d H:i:s').'<BR>';

// Hier befindet sich der Ordner (absolutes Verzeichnis), auf dem Server, wo Sie Ihre Bilder gespeichert haben, 
$dir2 = "/linski_iotd/"; 
$dir = $_SERVER['DOCUMENT_ROOT'].$dir2;

// Hier wird die heutige Tagesnummer des Jahres berechnet.
$dayofyear = date('z');

// Hier wird die Anzahl Bilder in dem Ordner "$dir" berechnet.
$fi = new FilesystemIterator($dir, FilesystemIterator::SKIP_DOTS);
$fileCount = iterator_count($fi);

// Hier wird das Bildnummer des anzuzeigenden Bildes berechnet.
$imagenumber = $dayofyear % $fileCount;

echo '5 Heute ist Tagesnummer: '.$dayofyear.'<BR>' ;
echo '6 Die Bilder sind gespeichert in dem Ordner: '.$dir2.'<BR>';
echo '7 Es befinden sich '.$fileCount.' Bilder in diesem Ordner<BR>';
echo '8 Bildnummer '.$dayofyear.'/'.$fileCount.' = '.(int)($dayofyear / $fileCount).' Rest '.$imagenumber.', also Bildnummer '.$imagenumber.' wird angezeigt<BR><BR>';

// Hier wird die Breite (und demzufolge die Abmessungen) des Bildes definiiert.
echo '<style>.test {width:100%; }</style>';

// Hier wird das aktuelle Bild des Tages angezeigt.
echo '<img class="test" src="'.$_SERVER['REQUEST_SCHEME']."://".$_SERVER['SERVER_NAME'].$dir2.$imagenumber.'.jpg">'.'<BR>';

?>



 P.S.: Eine Änderung der vom Server verwendeten Zeitzone kann nötig sein, weil deine Zeitzone manchmal nicht der Zeitzone des Servers entspricht.
Dann könnte es passieren dass es bei Dir gerade 00:00 Uhr ist, und das Bild doch nicht gewechselt wird, weil der Server z.B. eine Uhrzeit von erst 22:00 Uhr hat.
Und das Bild wird erst dann gewechselt wenn die Server-Zeit 00:00 Uhr ist ...

Viel Spaß und Vergnügen beim Ausprobieren dieses Scriptes !!!
Und bei Fragen und/oder Bemerkungen, bitte melden 😉.

VG, Piotr


Dieser Beitrag wurde bereits 8 mal bearbeitet, zuletzt von »piotr« (19.04.2021, 10:42)
771 Aufrufe | 1 Beiträge