Antworten zu häufig gestellten Homepage-Fragen
 Alle Anleitungen
Einige Anleitungen
Intern
Kostenl. Partnerlinks
[,__,] Druckversion

Hinweis: Die Website Homepage-FAQs.de befindet sich seit 2012 im Archivmodus, d.h. sie wird nicht mehr aktualisiert.
FAQS zu HP&Co.
Aktuellstes Bild eines oder mehrerer Verzeichnisse anzeigen (PHP)  (Für GIF, JPG und PNG)
(Erstellt und erweitert im Dezember 2006, erweitert und neue Version im Dezember 2009)

Inhalt:


Neu (Dezember 2009):
  • Bildanzeige Multi (Datumfarbe) - Version 0.2, erweitert mit Farbwechsel bei der Datumsanzeige, wenn x Tage/Woche seit dem letzten Upload vergangen sind
  • Bildanzeige Multi (Wechselfarbe)* - Version 0.2.1, wie Datumfarbe, mit zusätzlichem Farbwechsel für Heute, Gestern und älter
  • Bildanzeige Mini (Multiverzeichnis)* - Version 0.1.1, wie Multi Wechselfarbe, durchsucht verschiedene Verzeichnisse, zeigt aber nur 1 Bild - das Aktuellste
* Zuletzt geändert am 22.12.2009 - Grund: Fehler beseitigt - User, die frühere Versionen haben, sollte die neueste Version herunterladen.

Beschreibung (Features)

Das Script kann...
  • verschiedene Verzeichnisse nach Bildern durchsuchen und das jeweils aktuellste Bild eines Verzeichnisses anzeigen.
  • die angezeigten Bilder wahlweise verlinken, z.B.
    • intern mit einer Bildergalerie im Verzeichnis
    • extern mit einer Mitglieder-/Partnerseite
  • wahlweise das Datum der Aktualisierung anzeigen.
  • die Datumfarbe wechseln, wenn das letzte Update Heute bzw. Gestern oder Länger her bzw. Älter als 6 Wochen ist.
  • eine festgelegte Anzahl von Bildern pro Zeile anzeigen, um dann eine neue Zeile zu beginnen.
  • die Bildbreite begrenzen, um eine Sprengung des Homepagedesigns zu verhindern.
  • einen Hinweistext anzeigen, wenn kein Bild im Verzeichnis ist.
Anmerkung: Es gibt nun 5 verschiedene Versionen in der Zip-Datei mit unterschiedlichem Umfang. Nicht alle Versionen verfügen über alle Funktionen.

Lizenz: Freeware, kostenlos, kein sichtbarer Hinweis
Letzte Änderungen / Erweiterungen

Es gibt 4 Anzeigemöglichkeiten zusätzlich zum Datum bei Multi (Wechselfarbe) und Mini Multiverzeichnis:

1 - Heute
2 - Gestern
3 - Länger her (das heisst Vorgestern oder noch früher)
4 - Älter als 6 Wochen (optional)

Erklärung: Wenn es nicht "Heute" und nicht "Gestern" ist, dann ist es solange "Länger her" bis "Älter als 6 Wochen" zutrifft.

Anmerkung:
Die Texte bei 1 - 4 sind im Script anpassbar.
.
Beispiel (statisch, kein Script):

Foto: Hummel auf Blume
Letztes Update:
Heute - 21.12.2009

Testseiten (Demos)

http://www.homepage-faqs.de/1-test-bildanzeige-multi/bildanzeige-multi-wechselfarbe.php

http://www.homepage-faqs.de/1-test-bildanzeige-multi/bildanzeige-mini-multiverz.php

Download unter

http://www.homepage-faqs.de/zip/bildanzeige-multi.zip

er enthält folgende Dateien:
  • bildanzeige-multi.php
  • bildanzeige-multi-datumfarbe.php NEU
  • bildanzeige-multi-wechselfarbe.php NEU
  • bildanzeige-mini.php
  • bildanzeige-mini-multiverz.php NEU
  • readme_liesmich.txt
Die Dateien können einzeln aufgerufen (sollten dann aber auch HTML-Kopf und -Fussdaten erhalten) oder auch in eine Seite includet* werden, dabei sind evtl. die Pfadangaben zu korrigieren.

*Hinweise zum >> Includen <<

Einstellungen im Script

Die Einstellungen in der Datei im Einzelnen:

A)1) Script > Bildanzeige Multi (Datumfarbe)

- Wechselzeit und Wechselfarbe festlegen

//Einstellungen
//
//Datumfarbe wechseln nach x Tagen/Wochen
//Beispiel für 6 Wochen: 42 Tage (= 6 Wochen) * 24 Stunden * 60 Minuten * 60 Sekunden
$wechselzeit = 42 * 24 * 60 * 60; //ergibt die Zeit in Sekunden
$wechselfarbe = "#ff0000"; //hexadezimale Farbangabe oder gültiger Farbname

Für Farbnamen bzw. Hexadezimalwerte bei
$wechselfarbe siehe Webfarben in verschiedenen Darstellungen

Mustertabelle
(jeweils die vordere Zahl ändern für die Angabe von...)

Sekunden >> $wechselzeit = 60; //ergibt die Zeit in Sekunden

Minuten >> $wechselzeit = 60 * 60; //ergibt die Zeit in Sekunden

Stunden >> $wechselzeit = 24 * 60 * 60; //ergibt die Zeit in Sekunden

Tagen >> $wechselzeit = 42 * 24 * 60 * 60; //ergibt die Zeit in Sekunden

Wochen >> $wechselzeit = 6 * 7 * 24 * 60 * 60; //ergibt die Zeit in Sekunden

Anmerkung: Natürlich kann dass alles auch per Taschenrechner multipliziert werden und dann als eine Zahl eingetragen werden. Aber mit der Mustertabelle geht es auch ohne Taschenrechner und es ist gleich zu sehen was eingestellt wurde.

Die übrigen Einstellungen sind die Gleichen wie bei  "B) Script > Bildanzeige Multi"

A)2) Script > Bildanzeige Multi (Wechselfarbe) - wie Datumfarbe, nur einige Einstellungen mehr

//Hinweis: Ist B) aktiv, können evtl. Text/Farbe bei A) überschrieben werden, da B) Vorrang hätte
//
// A) Text- und/oder Farbwechsel für Heute, Gestern und Älter
//
//-->Heute
$wtextheute = 'Heute - '; //kann auch leer sein
$wfarbeheute = "#ff0000"; //hexadezimale Farbangabe oder gültiger Farbname
//-->Gestern
$wtextgestern = 'Gestern - '; //kann auch leer sein
$wfarbegestern = "#ffff00"; //hexadezimale Farbangabe oder gültiger Farbname
//-->Ältere Bilder
$wtextolder = 'L&auml;nger her - '; //kann auch leer sein
$wfarbeolder = "#0000ff"; //hexadezimale Farbangabe oder gültiger Farbname
//
// B) Text- und/oder Datumfarbe wechseln nach x Tagen/Wochen
$optionaktiv = 1; // Nachfolgende Optionen "Wechselzeit/-text/-farbe" ausführen 1=ja oder 0=nein
//Beispiel für Wechselzeit: 42 Tage (= 6 Wochen) * 24 Stunden * 60 Minuten * 60 Sekunden
$wechselzeit = 42 * 24 * 60 * 60; //ergibt die Zeit in Sekunden
$wechseltext = '&Auml;lter als 6 Wochen - '; //kann auch leer sein
$wechselfarbe = "#ff0000"; //hexadezimale Farbangabe oder gültiger Farbname
//
$updatetext = 'Letztes Update:<br>'; //kann auch leer sein

Die übrigen Einstellungen sind die Gleichen wie bei  "B) Script > Bildanzeige Multi"

B) Script > Bildanzeige Multi

1.) Einstellungen / Optionen festlegen und Verzeichnisse eintragen (evtl. URLs und target bei Verlinkung)

- Bilderzahl pro Zeile eintragen

//Anzahl der Bilder pro Reihe
$zahl_reihe = 3;

- maximale Bildbreite festlegen, um ein Sprengen des Webdesigns zu verhindern

//max. Bildgrösse (Eingabewerte 10 und grösser)
$max_breite = "170";

- Verzeichnisangaben, Bild und/oder Datum anzeigen und Verlinkung

//Verzeichnis 1
$verz_arr[0] = './1/';
$option[0] = "1";
$url[0] = "http://www.test.de";
$fenster[0] = "_blank";

Verzeichnisangaben - $verz_arr[0] = './1/'; bedeutet von gleichen Verzeichnis ./ ausgehend ins Unterverzeichnis 1/

Angaben bei $option[0] = "1";

"" oder "0" bedeutet nur Updatedatum anzeigen
"1" bedeutet Bild und Updatedatum anzeigen
"2" bedeutet Bild (verlinkt) und Updatedatum anzeigen
"3" Bild (verlinkt) aber kein Updatedatum anzeigen

Angaben bei $url[0] = "http://www.test.de"; und bei $fenster[0] = "_blank";  dürften wohl klar sein.

Hier kann eine Adresse (extern mit http:// oder intern nur verzeichnis/dateiname) und das Zielfenster* des Links angegeben werden.

Die Abschnitte "Verzeichnis 1 - 5" bei Bedarf kürzen oder nach dem selben Schema erweitern.

(* http://de.selfhtml.org/html/verweise/definieren.htm#zielfenster )

2.) Ausgaben separat festlegen

- Anfang ganz zuerst, z.B. Überschrift oder Tabellen- bzw. DIV-Anfang, festlegen

//Ausgabe am Anfang
$header = '<table width="744" border="1" cellpadding="10"><tr>';

- Anfang vor der jeweiligen Bild und/oder Textausgabe festlegen

//Jeweils Ausgabe Bild/Text Anfang festlegen (wenn Bild)
$ausgabeanfang = '<th width="30%" style="background-color:#00FFFF" align="center" valign="middle" scope="col"><div align="center">';

//Jeweils Ausgabe Bild/Text Anfang festlegen (wenn kein Bild)
$ausgabeanfangkb = '<th width="30%" style="background-color:#00AAFF" align="center" valign="middle" scope="col"><div align="center">';

(Durch unterschiedliche Angaben in den beiden Abschnitten kann z.B. eine unterschiedliche Hintergrundfarbe festgelegt werden.)

- Ende nach der jeweiligen Bild und/oder Textausgabe festlegen

//Jeweils Ausgabe Bild/Text Ende festlegen
$ausgabeende = '</div></th>';

- Ende ganz zuletzt, z.B. Tabellen- bzw. DIV-Ende, festlegen

//Ausgabe am Ende
$footer = "</tr></table>";

- Code für Zeilenumbruch bzw. neue Tabellenzellenzeile angeben

//Code für neue Zeile (z.b. <br> oder </tr><tr>)
$neuezeile = '</tr><tr>';

- Code und Text für Füllung von Tabellenzellen o.ä. festlegen, wenn die Reihe am Schluss nicht ganz voll wird

Beispiel für Textanzeige:

//Code fürs Auffüllen wenn letzte Reihe nicht voll
$auffuellen = $ausgabeanfangkb.'kein Verzeichnis'.$ausgabeende;

Beispiel für Leerzeichen (Keine Textanzeige):

//Code fürs Auffüllen wenn letzte Reihe nicht voll
$auffuellen = $ausgabeanfangkb.'&nbsp'.$ausgabeende;

Hinweise:
  • Text/Html-Code innerhalb von Hochkommata ', z.B. '<b>Text</b>', eingeben.
  • Es können auch die Variablen aus Abschnitt 2.), z.B. $ausgabeanfangkb am Anfang und  $ausgabeende am Ende verwendet werden, dabei werden die Variablen und der Text/Html-Code mit Punkten . verbunden, am Ende das Semikolon ; nicht vergessen, z.B. so
$ausgabeanfangkb.'kein Verzeichnis'.$ausgabeende;

C) Script > Bildanzeige Mini Multiverzeichnis

//Einstellungen
//
//Hinweis: Ist B) aktiv, können evtl. Text/Farbe bei A) überschrieben werden, da B) Vorrang hätte
//
// A) Text- und/oder Farbwechsel für Heute, Gestern und Älter
//
//-->Heute
$wtextheute = 'Heute - '; //kann auch leer sein
$wfarbeheute = "#ff0000"; //hexadezimale Farbangabe oder gültiger Farbname
//-->Gestern
$wtextgestern = 'Gestern - '; //kann auch leer sein
$wfarbegestern = "#ffff00"; //hexadezimale Farbangabe oder gültiger Farbname
//-->Ältere Bilder
$wtextolder = 'L&auml;nger her - '; //kann auch leer sein
$wfarbeolder = "#0000ff"; //hexadezimale Farbangabe oder gültiger Farbname
//
// B) Text- und/oder Datumfarbe wechseln nach x Tagen/Wochen
$optionaktiv = 1; // Nachfolgende Optionen "Wechselzeit/-text/-farbe" ausführen 1=ja oder 0=nein
//Beispiel für Wechselzeit: 42 Tage (= 6 Wochen) * 24 Stunden * 60 Minuten * 60 Sekunden
$wechselzeit = 42 * 24 * 60 * 60; //ergibt die Zeit in Sekunden
$wechseltext = '&Auml;lter als 6 Wochen - '; //kann auch leer sein
$wechselfarbe = "#ff0000"; //hexadezimale Farbangabe oder gültiger Farbname
//
$updatetext = 'Letztes Update:<br>'; //kann auch leer sein
//
$max_breite = "170"; //Max. Bildgrösse(Eingabewerte 10 und grösser)
//
$keinbild = 'Kein Bild!'; //Text wenn kein Bild vorhanden ist
//
$bildlink = 'http://www.test.de'; //Adresse wohin das Bild verlinken soll, ansonst leer '' lassen
//
$linktarget = '_blank'; //Linkziel angeben / _blank = neues Browserfenster bzw. -tab
//
//Verzeichnis 1 (ist [0])
$verz_arr[0] = './1/';
//
//Verzeichnis 2 (ist [1])
$verz_arr[1] = './2/';
//
//Verzeichnis 3 (ist [2])
$verz_arr[2] = './3/';
//
//Verzeichnis 4 (ist [3])
$verz_arr[3] = './4/';
//
//Verzeichnis 5 (ist [4])
$verz_arr[4] = './5/';

Siehe auch Hinweise unter D) Script > Bildanzeige Mini

D) Script > Bildanzeige Mini

- Verzeichnis angeben

//Verzeichnis/-pfad (gleiches Verzeichnis = '.'; )
$verzeichnis = './1/';

Verzeichnisangabe - $verz_arr[0] = './1/'; bedeutet von gleichen Verzeichnis ./ ausgehend ins Unterverzeichnis 1/

- maximale Bildbreite festlegen, um ein Sprengen des Webdesigns zu verhindern

//max. Bildgrösse (Eingabewerte 10 und grösser)
$max_breite = "170";

- Updatedatum anzeigen lassen über oder unter dem Bild oder garnicht
 
Bei Version 0.1 diese Zeile suchen

//Ausgabe wenn Bild
$anzeige = '<img src="'.$verzeichnis.$tempfile.'" width="'.$bildbreite.'" height="'.$bildhoehe.'" border="0"><br>Update am: '.$datumanz;

a) und ändern in

//Ausgabe wenn Bild / kein Datum
$anzeige = '<img src="'.$verzeichnis.$tempfile.'" width="'.$bildbreite.'" height="'.$bildhoehe.'" border="0"><br>';

wenn kein Updatedatum erscheinen soll

b) oder ändern in

//Ausgabe wenn Bild / Datum über dem Bild
$anzeige = 'Update am: '.$datumanz.'<br><img src="'.$verzeichnis.$tempfile.'" width="'.$bildbreite.'" height="'.$bildhoehe.'" border="0"><br>';

wenn das Updatedatum über dem Bild sein soll.

- Datei bildanzeige-mini.php in Homepage includen (einbauen) - siehe nächster Abschnitt, allerdings mit folgender Anpassung:

<?php include("bildanzeige-mini.php"); ?>

Includen

In der Webseite (z.B. im Hauptverzeichnis), in der es angezeigt werden soll, diesen Code an der Stelle einfügen, an der die Bilder zu sehen sein sollen

Beispiel:

<html>
<head>
<title>Meine Homepage</title>
<link rel="stylesheet" type="text/css" href="formate.css">
<head>
<body>
<h1>Titel der Homepage</h1>
<div class="menu">
<a class="menu" href="index.htm">Home</a><br>
<a class="menu" href="extras/index.htm">Extras</a><br>
<a class="menu" href="links/index.htm">Links</a><br>
</div>
<div class="news">
12.3.2009 - News aus Dingsda<br>
17.6.2009 - Neues von A.B aus C.<br>

</div>
<div class="content">
<?php include("bildanzeige-multi.php"); ?>
</div>
<div class="footer">
(c) 2009 - Name - Homepage
</div>
</body>
</html>

Die Webseite sollte die Endung .php haben, damit der PHP-Code ausgeführt wird, evtl. Links zu dieser Seite auf den anderen Homepageseiten anpassen.

Hinweis zu den Bildtypen für Hobbyscripter

Auszug aus dem Code

$info = @getimagesize($verzfile);
if($info[2]==(1||2||3) && $file != "." && $file != ".." && !is_dir($file))

Getimagesize @getimagesize($verzfile) gibt Infos zu den Bildern aus (@ unterdückt einer Fehlermeldung bei diesem Befehl), für das Script wichtig sind Breite $info[0], Höhe $info[1] und der Grafik-Typ $info[2] (ausgegebene Werte sind 1 = GIF, 2 = JPG, 3 = PNG,...).

Hier wird geprüft, ob die Grafik-Typen dabei sind $info[2]==(1||2||3).

Infos dazu siehe http://de2.php.net/manual/de/function.getimagesize.php

Anleitung (C) 2006, 2009 Daniel Wurst - http://www.homepage-faqs.de