Bilderwechsel
Mike
- html
hallo,
ich hab ein kleines probelm, ich ich hab eine seite mit einer layouttabelle dessen hintergrund ein Bild ist, das nennen wir mal bild_bg.jpg. nun hab ich noch weitere 15 bilder die die gleiche größe haben die sind in einen ordner der heisst bilder. dieser ordner bilder ist im gleichen verzeichnis wie das bild_bg.jpg.
nun soll folgendes passieren aller 15 sekunden soll das bild wechseln also praktisch soll ein bild aus dem ordner bilder genommen werden und soll bild_bg.jpg überschreiben, aber das ganze soll zufällig passieren und es soll sich so sein das niemals ein und das selbe bild hintereinander kommt.
so das der user praktisch wenn er auf die seite geht ein bild sieht und wenn er das nächste mal drauf geht, das dann evtl. ein ganz anderes bild zusehen ist.
bitte keine antworten das dies für den wiedererkennungswert der seite schlecht ist das weiss ich auch aber es soll nun mal so sein.
hat jemand ein idee wie man das realsiert, mit js oder php, vielleicht weiss auch jemand ein tutorial oder ähnliches.
danke mike
Hi,
das ganze ist relativ einfach mit PHP zu machen. Dazu habe ich mal ein script geschrieben:
<?
function getFiles($directory) {
if($dir = opendir($directory)) {
$tmp = Array();
while($file = readdir($dir)) {
if($file != "." && $file != ".." && $file[0] != '.' && $file != 'Thumbs.db' && $file != 'mainbg.jpg') {
if(is_dir($directory . $file)) {
$tmp2 = getFiles($file);
if(is_array($tmp2)) {
$tmp = array_merge($tmp, $tmp2);
}
} else {
array_push($tmp, $file);
}
}
}
closedir($dir);
return $tmp;
}
}
$directory='./pics/';
$files=getFiles($directory);
$i=0;
while($files[$i]){
$i++;
}
$random=rand(0,$i-1);
$vorlage = Array();
$vorlage[0] = range(0,9);
$vorlage[1] = range('a','z');
$i = 0;
for($i = 0;$i < 12;$i++) {
srand((double)microtime() * time() * ($i + 123));
$key1 = rand(0,2);
$key2 = rand(0,9);
$code .= $vorlage[$key1][$key2];
}
rename($directory."mainbg.jpg", $directory.$code.".jpg");
rename($directory.$files[$random], $directory."mainbg.jpg");
?>
Achja du musst natürlich noch ein CronJob machen, dass alle gewünschte Zeit das script aufruft.
mfg steffen :)
hallo steffen,
Dazu habe ich mal ein script geschrieben:
<?
Und da hast du gleich einen Kardinalfehler begangen. Du solltest bitte _immer_
<?php
schreiben - sofern es denn ein PHP-Script sein soll. Mein lokaler Server würde beispielsweise auch
<?perl
interpretieren können, aber mit "<?" weiß er dann nicht, was er tun soll.
Achja du musst natürlich noch ein CronJob machen, dass alle gewünschte Zeit das script aufruft.
Das dürfte vermutlich das Problem sein. Wie richtest du einen cronjob ein, wenn du einen Provider hast, der dir keinen Zugriff auf solche Mätzchen erlaubt?
Frage und Antwortmöglichkeiten haben im übrigen absolut andere Prioritäten als "HTML", daher habe ich das Topic gewechselt.
Grüße aus Berlin
Christoph S.
Einen schönen guten Nachmittag.
so das der user praktisch wenn er auf die seite geht ein bild sieht und wenn er das nächste mal drauf geht, das dann evtl. ein ganz anderes bild zusehen ist.
Musst du wirklich den Bildnamen ändern? Ich meine es ist besser wenn man per Javascript http://de.selfhtml.org/javascript/objekte/math.htm#random@title=zufällig ein Bild auswählt und dann als http://de.selfhtml.org/javascript/objekte/style.htm#style_eigenschaften@title=Hintergrund der Tabelle einfügst. Dabei wäre aber nicht gewährleistet, dass du immer ein anderes Bild siehst wenn du die Seite neu lädst.
Moment. Hier fehlt noch was. Immer wenn Javascript im Spiel ist kommt noch ein ganz bestimmter Satz. Wie war der noch gleich... Ah, jetzt hab ich 's. Wie konnte ich das nur vergessen: "Nicht alle Benutzer haben Javascript aktiviert. Damit würden diese Nutzer nicht sehen, was da passiert." Das war 's. Jetzt fühl ich mich besser.
So long,
Oku