Tak for ideen. Den er rigtig god og ultrasimpel, men jeg kom i løbet af natten i tanke om den også godt måtte have lidt mere random over sig...
Så jeg har gjort følgende:
<?
$fp=fopen("randomimagetime.txt","r");
$lasttime=fread($fp,10);
fclose($fp);
$currenttime=time(U);
$diftime=$currenttime-$lasttime;
if($diftime>(20)){
$fp=fopen("randomimagetime.txt","w");
fwrite($fp,time(U));
fclose($fp);
$getimagecount=mysql_query("SELECT COUNT(id) FROM randomimage");
$noofimages=mysql_result($getimagecount,0,0);
$randno=rand(1,$noofimages);
$fp=fopen("randomimageactive.txt","w");
fwrite($fp,$randno);
fclose($fp);
}
$fp=fopen("randomimageactive.txt","r");
$activeimage=fgets($fp);
fclose($fp);
$getimage=mysql_query("SELECT * FROM randomimage WHERE id=$activeimage");
while($d=mysql_fetch_array($getimage)){
echo $d['id']."<br>";
echo $d['image']."<br>";
echo $d['imgwidth']."<br>";
echo $d['imgheight']."<br>";
echo $d['img_desc']."<br>";
echo $d['url'];
}
?>
Det bygger på to filer;
randomimagetime.txt og
randomimageactive.txt. Den første randomimagetime.txt indeholder et timestamp som fortæller hvornår der sidst blev skiftet element og randomimageactive.txt indeholder id'et på det element som er aktivt (bliver vist). Så tjekker jeg hele tiden om tidsforskellen mellem timestamp i randomimagetime.txt og time() er mere end de 24 timer og hvis det er så skifter jeg billede og skriver det nye timestamp og id til de to filer.
Det er en smule tungere, men det virker perfekt
Her kan man også sætte tidsintervallet til lige hvad man vil. Det kunne også være gjort med en MySQL database istedet for de to tekstfiler.
Indlæg senest redigeret d. 04.08.2006 15:07 af Bruger #7041