zufällig vier bilder auswählen

ja, das script (also in dem fall die index.php).
weil, da dürfte irgendwo ein fehler sein, denn zwischendurch includet der einfach mal nichts.
 
so hier die index.php

<?

$max = "3"; // hier die Anzahl der Dateien eingeben
$site = array("index1.html","index2.html","index3.html"); // hier die Namen der Dateien



$max = $max--; // $max um 1 subtrahieren, da ein array bei 0 anfängt
srand(time()); // rand() eine Zahl vorgeben
$zahl = rand(0,$max); // Zufallszahl generieren und in $zahl speichern
$site = $site[$zahl];
include($site);

?>
 
PHP:
<? 
$max = "3"; 
$site = array("index1.html","index2.html","index3.html");

$max = $max--;  
mt_srand(time()); 
$zahl = mt_rand(0,$max); 
$site = $site[$zahl];
include($site); 

?>

So hab ich das jetzt und das funktioniert auch (hab ein "paar" mal aktualisiert)...
du kannst die dateinamen übrigens beliebig verändern :-)
 
hey

der öffnet alle seiten aber es kommt trotz dem immer zwichendurch die meldung.

Warning: Failed opening '' for inclusion (include_path='') in /www/photodesignz.net/test/index.php on line 9

test it

http://www.photodesignz.net/test

es gibt ne inde1 index2 und index3 html.

hm.
 
hm... stimmt.... aber irgendwie hab ich keine ahnung woran das liegt tut mir leid :D

du könntest das auch so schreiben, dann wird verhindert, dass eine leere seite included wird.

PHP:
<? 
$max = "3"; 
$site = array("index1.html","index2.html","index3.html");

$max = $max--;  
mt_srand(time()); 
$zahl = mt_rand(0,$max); 
$site = $site[$zahl];
if($site=="") {
$site = "index2.html"; // *1)
}
include($site); 

?>

1) hier kannst du einen dateinamen einsetzen, der angezeigt werden soll, wenn $site leer sein sollte...
 
$max--: gibt alten Wert zurück und dekrementiert dann
--$max: dekrementiert und gibt dann neuen (dekrementierten) Wert zurück
(!)

Die Zuweisung $max = $max--; macht also effektiv gar nichts. Einfach nur $max-- tut's aber.

Und für srand() sollte man vielleicht als Wert (double)microtime()*1000000 einsetzen, sonst bekommt man jeweils eine Sekunde lang immer den gleichen Wert von rand() ausgespuckt.

Das hier sollte also dann funzen:
PHP:
<?
$max = 3;
$site = array("index1.html","index2.html","index3.html");

$max--;
srand ((double)microtime()*1000000);
$zahl = rand(0, $max);
include($site[$zahl]);
?>


reima
 
Zurück