Sebastian Becker: gleiche Zufallszahlen verhindern

Beitrag lesen

Hallo,

ich habe mal so ein Skript geschrieben. Vielleicht kannst Du damit was anfangen ...

Grüße,

Sebastian

<?php
/* **********************************************************************
Filename: randompics.inc
Description: generate random pics
Author:  © 2002 Sebastian Becker (sebastian.becker@berlin.de)
********************************************************************** */

// configuration
$rp_default_txt = "Berliner Impressionen"; // default description text
$rp_default_w = "150"; // default width
$rp_default_h = "150"; // default height
$rp_pic_num = 3; // number of images to show

// set image path
if($page=="guestbook"){$rp_pic_path="../img/";}else{$rp_pic_path="img/";}

// spacer image
$rp_spacer = "<img src="".$rp_pic_path."onepixel.gif" width="".$rp_default_w."" height="1" alt="">";

// picture parameters
$rp_pic[0] = 'pic01.jpg';
$rp_pic_w[0] = '';
$rp_pic_h[0] = '';
$rp_pic_txt[0] = 'Brandenburger Tor';

$rp_pic[1] = 'pic02.jpg';
$rp_pic_w[1] = '';
$rp_pic_h[1] = '';
$rp_pic_txt[1] = 'Potsdamer Platz';

$rp_pic[2] = 'pic03.jpg';
$rp_pic_w[2] = '';
$rp_pic_h[2] = '';
$rp_pic_txt[2] = 'Brandenburger Tor';

$rp_pic[3] = 'pic04.jpg';
$rp_pic_w[3] = '';
$rp_pic_h[3] = '';
$rp_pic_txt[3] = 'Bundeskanzleramt';

$rp_pic[4] = 'pic05.jpg';
$rp_pic_w[4] = '';
$rp_pic_h[4] = '';
$rp_pic_txt[4] = 'Lichtsäulen am Potsdamer Platz';

$rp_pic[5] = 'pic06.jpg';
$rp_pic_w[5] = '';
$rp_pic_h[5] = '';
$rp_pic_txt[5] = 'Sony Potsdamer Platz (Detail)';

$rp_pic[6] = 'pic07.jpg';
$rp_pic_w[6] = '';
$rp_pic_h[6] = '';
$rp_pic_txt[6] = 'Skulptur am Checkpoint Charlie';

$rp_pic[7] = 'pic08.jpg';
$rp_pic_w[7] = '';
$rp_pic_h[7] = '';
$rp_pic_txt[7] = 'Hamburger Bahnhof';

$rp_pic[8] = 'pic09.jpg';
$rp_pic_w[8] = '';
$rp_pic_h[8] = '';
$rp_pic_txt[8] = 'Funkturm';

$rp_pic[9] = 'pic10.jpg';
$rp_pic_w[9] = '';
$rp_pic_h[9] = '';
$rp_pic_txt[9] = 'Brandenburger Tor & Reichstag';

$rp_pic[10] = 'pic11.jpg';
$rp_pic_w[10] = '';
$rp_pic_h[10] = '';
$rp_pic_txt[10] = 'Fernsehturm';

$rp_pic[11] = 'pic12.jpg';
$rp_pic_w[11] = '';
$rp_pic_h[11] = '';
$rp_pic_txt[11] = 'Kurfürstendamm';

$rp_pic[12] = 'pic13.jpg';
$rp_pic_w[12] = '';
$rp_pic_h[12] = '';
$rp_pic_txt[12] = 'Gedächtniskirche';

$rp_pic[13] = 'pic14.jpg';
$rp_pic_w[13] = '';
$rp_pic_h[13] = '';
$rp_pic_txt[13] = 'Hackesche Höfe';

$rp_pic[14] = 'pic15.jpg';
$rp_pic_w[14] = '';
$rp_pic_h[14] = '';
$rp_pic_txt[14] = 'Hochhäuser am Potsdamer Platz';

$rp_pic[15] = 'pic16.jpg';
$rp_pic_w[15] = '';
$rp_pic_h[15] = '';
$rp_pic_txt[15] = 'Schloss Charlottenburg';

$rp_pic[16] = 'pic17.jpg';
$rp_pic_w[16] = '';
$rp_pic_h[16] = '';
$rp_pic_txt[16] = 'Goldelse auf der Siegessäule';

$rp_pic[17] = 'pic18.jpg';
$rp_pic_w[17] = '';
$rp_pic_h[17] = '';
$rp_pic_txt[17] = 'Sony Potsdamer Platz (Dach)';

$rp_pic[18] = 'pic19.jpg';
$rp_pic_w[18] = '';
$rp_pic_h[18] = '';
$rp_pic_txt[18] = 'Synagoge an der Oranienburger Straße';

/*

$rp_pic[19] = 'pic20.jpg';
$rp_pic_w[19] = '';
$rp_pic_h[19] = '';
$rp_pic_txt[19] = '';

$rp_pic[20] = 'pic21.jpg';
$rp_pic_w[20] = '';
$rp_pic_h[20] = '';
$rp_pic_txt[20] = '';

$rp_pic[21] = 'pic22.jpg';
$rp_pic_w[21] = '';
$rp_pic_h[21] = '';
$rp_pic_txt[21] = '';

$rp_pic[22] = 'pic23.jpg';
$rp_pic_w[22] = '';
$rp_pic_h[22] = '';
$rp_pic_txt[22] = '';

$rp_pic[23] = 'pic24.jpg';
$rp_pic_w[23] = '';
$rp_pic_h[23] = '';
$rp_pic_txt[23] = '';

$rp_pic[24] = 'pic25.jpg';
$rp_pic_w[24] = '';
$rp_pic_h[24] = '';
$rp_pic_txt[24] = '';

$rp_pic[25] = 'pic26.jpg';
$rp_pic_w[25] = '';
$rp_pic_h[25] = '';
$rp_pic_txt[25] = '';

$rp_pic[26] = 'pic27.jpg';
$rp_pic_w[26] = '';
$rp_pic_h[26] = '';
$rp_pic_txt[26] = '';

$rp_pic[27] = 'pic28.jpg';
$rp_pic_w[27] = '';
$rp_pic_h[27] = '';
$rp_pic_txt[27] = '';

$rp_pic[28] = 'pic29.jpg';
$rp_pic_w[28] = '';
$rp_pic_h[28] = '';
$rp_pic_txt[28] = '';

$rp_pic[29] = 'pic30.jpg';
$rp_pic_w[29] = '';
$rp_pic_h[29] = '';
$rp_pic_txt[29] = '';

*/

// Zahl der Bilder feststellen
$rp_picCount = $rp_pic.length;

// ---------- nothing to change from here ----------

function generateNumbers($min, $max, $anz)
{
$array = range($min, $max);
srand ((double)microtime()*1000000);
for($x=0;$x<$anz;$x++)
{
$i = rand(1, count($array))-1;
$erg[] = $array[$i];
array_splice($array, $i, 1);
}
return $erg;
}

// generate 3 different numbers
$rp_ran_array = generateNumbers(0, count($rp_pic)-1, $rp_pic_num);

$rp_str = "";

for($j=0;$j<$rp_pic_num;$j++)
{
$rp_ran = $rp_ran_array[$j];
$rp_p = $rp_pic_path.$rp_pic[$rp_ran];
$rp_p_w = $rp_pic_w[$rp_ran];
$rp_p_h = $rp_pic_h[$rp_ran];
$rp_p_txt = $rp_pic_txt[$rp_ran];

// use default values if no values are set
if($rp_p_txt=="")$rp_p_txt=$rp_default_txt; if($rp_p_w=="")$rp_p_w=$rp_default_w; if($rp_p_h=="")$rp_p_h=$rp_default_h;

// build HTML string
$rp_str .= $rp_spacer;
$rp_str .= "<img src="".$rp_p."" width="".$rp_p_w."" height="".$rp_p_h."" border="0" alt="".$rp_p_txt."" title="".$rp_p_txt."" onMouseOver="window.status=this.alt;return true;" onMouseOut="window.status='';return true;">";
}

// print HTML
echo($rp_str);

// print picture description
function picText($rp_pic)
{
global $rp_ran;
global $rp_alt_txt;
$rp_ran = $rp_ran[$rp_pic-1];
echo($rp_alt_txt[$rp_ran]);
}

?>