Grafik zufällig einbauen

hallo,
ich würde gerne in einem ordner mehrer grafiken ablegen und auf der homepage soll dann an einer stelle aus diesen bildern zufällig eines ausgewählt werden und fix angezeigt werden (ohne fortlaufenden wechsel).
geht das mit html (oder php) oder geht das überhaupt :smile:
lg
günter

Hallo Günter,

ich würde gerne in einem ordner mehrer grafiken ablegen und
auf der homepage soll dann an einer stelle aus diesen bildern
zufällig eines ausgewählt werden und fix angezeigt werden
(ohne fortlaufenden wechsel).
geht das mit html (oder php) oder geht das überhaupt :smile:

Jedesmal wenn ich deine Homepage aufrufe, erscheint ein anderes, zufällig ausgewähltes Bild, so in etwa?
Mit PHP z.B. ginge das schon. Du nummerierst z.B. die Bilder durch, 1.jpg, 2.jpg …
erzeugst mit PHP eine Zufallszahl aus dem Bereich von 1 - max und dieses Bild wird dann angezeigt.
http://us2.php.net/manual/de/function.rand.php
http://www.selfphp.de/praxisbuch/print/print.php?sit…

So das ganz grobe Schema dafür. Ginge natürlich auch mit anderen Skriptsprachen.

Viele Grüße
Marvin

SSI
Hallo Günter,

ich mache das per SSI:

.jpg" width="400" height="321" border="0" alt="Ein anderes Bild" /\>

Die Bildnamen sind dann 2-stellige Zahlen. Anzusehen hier: http://klafuenf.de/test.shtml

Gruß

Stefan

Hallo!

ich würde gerne in einem ordner mehrer grafiken ablegen und
auf der homepage soll dann an einer stelle aus diesen bildern
zufällig eines ausgewählt werden und fix angezeigt werden
(ohne fortlaufenden wechsel).
geht das mit html (oder php) oder geht das überhaupt :smile:

Das geht mit jeder mir bekannten Programmiersprache, wobei ich sagen muss, du brauchst die Dateien nicht durchnummerieren, einfach alle in einen Ordner kopieren!

Ich würde das so angehen (Lösung in PHP):
> Schreib alle Bilder in ein $Array[] mit readdir, opendir, usw.
> Zähle Array-Items count($Array)
> mt_rand() Zufallszahl von 0 bis count(Array)
> fertig!!

Gruß Sebastian

Danke Sebastin!
Ehrlich gesagt kenne ich mich mit php (fast) gar nicht aus.
Wie schreibe ich Bilder in ein array…
Meine Bilder heißen 1.jpg, 2.jpg, 3.jpg usw. (bis 50) und liegen im Ordner „grafiken“. Die php Seite selbst ist in einem anderen Ordner.
Darf ich dich fragen wie der genaue php code dafür aussieht…
lg
günter

ich mache das per SSI:

.jpg"
width=„400“ height=„321“ border=„0“ alt=„Ein anderes Bild“
/>

Hallo Stefan

die Idee find ich genial!! nur leider funkioniert sie nicht - zumindest nicht mit diesem Codeschnipsel.
Die Variable wird nicht interpretiert!
könntest du nochmal gucken ob ev. was verkehrt ist?

quelltext sagt: [i]http://www.einedomain.org/bilder/%3C!–#echo%20var=[/i]
.jpg width[…] wird im Browser ausgechrieben

lg
aya

ich mache das per SSI:

.jpg"
width=„400“ height=„321“ border=„0“ alt=„Ein anderes Bild“
/>

Hallo Stefan

die Idee find ich genial!!

SSI wird nur korrekt verstanden, wenn die Leerzeichen stimmen. Und es läuft nur auf einem Apache-Webserver. Und üblicherweise sind die Webserver so eingestellt, dass der Dateiname in der die SSI ausgeführt werden sollen .shtml lauten.

[i]http://www.einedomain.org/bilder/%3C!–#echo%20var=[/i]

Für mich liest sich das, als ob die im Unicode interpretiert werden. Das geht nicht!

Gruß

Stefan

Hi Günter!

Ehrlich gesagt kenne ich mich mit php (fast) gar nicht aus.
Wie schreibe ich Bilder in ein array…
Meine Bilder heißen 1.jpg, 2.jpg, 3.jpg usw. (bis 50) und
liegen im Ordner „grafiken“. Die php Seite selbst ist in einem
anderen Ordner.
Darf ich dich fragen wie der genaue php code dafür aussieht…

Natürlich darfst du und hier der Programmcode:

<?php $dir = "grafiken";<br />if ($handle = opendir($dir)) {
 while (false !== ($file = readdir($handle))) {
 #Hier vielleicht noch überprüfen ob auch wirklich 
 #ein Bild eingelesen wird (schau mal strpos PHP Manual)
 if ($file != "." && $file != "..") {
 #Datei einlesen 
 $aImg[] = $dir."/".$file;
 }
 }
 closedir($handle);
}

$countImgs = count($aImg)-1;
$randomIndex = mt\_rand(0, $countImgs);

echo " ![$aImg[$randomIndex]]($aImg[$randomIndex])";
?\>

Natürlich muss dein Server php unterstützen, sonst geht das sowieso nicht!!

Kopiere nun x Bilder in den Ordner grafiken, der Code liesst alle Dateien aus dem Ordner grafiken und schreibt sie in das Array aImg, über mt_rand() wird ein Zufallsindex des Arrays aImg ermittelt und über echo ausgegeben.

Gruss Sebastian

ps: Ich habe den Programm nicht getestet, müsste aber funktioniert, sonst schreib einfach nochmal zurück!!

1 Like

Hallo Stefan

Für mich liest sich das, als ob die im Unicode
interpretiert werden. Das geht nicht!

Ne das wars nicht ;:wink:

ich hatte vergessen die endung auf .shtml zu setzen (ich erwähne jetzt nicht offiziell daß ich 2 sites mittels ssi gemacht habe *hust).
Ok blöder fehler!

Und ich bin draufgekommen, daß mein lokaler Webserver das Datumsformat nicht interpretiert.

Auf dem Webserver geht es !!!
ssi ist aber grundsätzlich aktiviert!

Weisst du so aus dem Stegreif was das sein könnte?

und ja - danke nochmal.
lg
aya

Server-Konfiguration

Und ich bin draufgekommen, daß mein lokaler Webserver das
Datumsformat nicht interpretiert.

Apache? Welche Version, dann kann ich mal in den config-Dateien nachsehen, wo SSI eingeschaltet werden muss.

Es sind 2 Stellen, die von der Standard-Konfiguration aus verändert werden müssen.

Gruß

Stefan