Random Pics auf Homepage??

  • #1
H

Hellhammer

Bekanntes Mitglied
Themenersteller
Dabei seit
28.01.2002
Beiträge
431
Reaktionspunkte
0
Ort
Elmshorn
Hallo,

ich möchte gern ne Funktion wie Random Pics auf meiner Page verwenden, wie mache ich das?
Ich bin Anfänger und habe kaum Ahnung von Programmierung!!

Bitte genau die Schritte erklären, das ist leider sehr wichtig.

Ich habe das gefunden, funktioniert aber nicht:

$total = 6;
$resizable = yes;
$width = 30; // funktioniert nicht
$height = 30; // funktioniert nicht
$file_type = .jpg;
$image_folder = radompics; // ordner der pics
$start = 1; // ??

$random = mt_rand($start, $total);

$image_name = $random . $file_type;

echo <img src=\$image_folder/$image_name\ alt=\$image_name\ />;


Herzlichen Dank
 
  • #3
Ich gehe mal davon aus dass Du in einem Ordner (Randompics) 6 Bilder als jpg gespeichert hast...
Zumindest interpretiere ich Dein Script so.
Ich weiß ja nicht wie die Bilder heißen, aber am einfachsten ist es dann die einfach von 1-6 zu benennen. (1.jpg, 2.jpg, 3.jpg,...)
Dann sieht das Script dazu so aus:
Code:
<?php
$start = 1; //Kleinste Zahl des Zufallsgenerators
$total = 6;  //Groesste Zahl des Zufallsgenerators
$width = 30; //Breite
$height = 30; //Hoehe
$image_folder = radompics; // Ordner der pics
 
$random = mt_rand($start, $total); //Zufallszahl ermitteln
$zufallsbild= $random..jpg; //Dateinamen mit der Zufallszahl und Erweiterung erstellen.

echo <img src='$image_folder/$zufallsbild' width='$width' height ='$height' alt='$zufallsbild'>;
?>

Wenn Du mehr Bilder im Ordner hast, die nicht extra umbenennen möchtest oder sonst irgendwelche Gründe hast weshalb das so nicht funktioniert kannst Du die Bilder auch in ein Array packen und ausgeben lassen:

Code:
<?php
 $ordner = bildordner; #Ordner der Bilder...
 $handle = opendir($ordner); #Ordner der Bilder oeffnen.
 while ($file = readdir($handle))
	{
	if(($file != .) && ($file != ..))
	    {
		$bild[] = $file; #Alle Dateien bis auf . und .. in das Array->bild' laden.
		}
	}
  closedir($handle);	

$start = 0; #Kleinste Zahl des Zufalsgenerators
$total = count($bild) - 1; #Groesste Zahl des Zufallsgenerators, (Anzahl der Bilder -1, da das Array mit 0 beginnt)

$width = 30; //Breite
$height = 30; //Hoehe

$image_folder = radompics; // Ordner der pics
 
$random = mt_rand($start, $total); //Zufallszahl ermitteln
$zufallsbild= $bild[$random]; #Das Bild waehlen das an der per Zufall ermittelten Stelle des Array steht. 

echo <img src='$image_folder/$zufallsbild' width='$width' height ='$height' alt='$zufallsbild'>;
?>
 
  • #4
Whow, zwei tolle Tipps!!!

Das Ergenis?


Ich weiss leider nicht was ein Array ist!
Muss ich nen extra Order Array anlegen oder wie? Oder auch anders?
Was müsste ich an Deinem Quelltext noch ändern?
Sorry, aber ich mache das echt nicht um Dich/Euch zu ärgern!!! :-?

Danke
 
  • #5
Ich weiss leider nicht was ein Array ist!
Guckst Du ->

Muss ich nen extra Order Array anlegen oder wie? Oder auch anders?
Das Array wird bereits (im zweiten Beispiel) mit->$bild[] = $file;' erstellt, und zwar wird da in einer Schleife der Ordner so lange durchgegangen bis jede Datei (außer . und ..) in das Array eingefügt ist.


Muss ich nen extra Order Array anlegen oder wie? Oder auch anders?
Was müsste ich an Deinem Quelltext noch ändern?
Der Ordner kann sonstwie heißen, Du musst halt nur die Variable->$image_folder' entsprechend anpassen, sonst brauchst Du im Grunde genommen nichts ändern. Du musst nur drauf achten dass in dem Ordner den Du angibst nur Bilder vorhanden sind die auch angezeigt werden sollen.
 
  • #6
Aha, ok, das scheint ganz einfach zu sein.
Das werde ich dann morgen mal machen.

Lieben Dank und Gruß,

Marcel.
 
  • #7
Hi,

gibt es ne Möglichkeit die Fotos zuzuweisen?
Ich habe auf meinr Page ca. 14 Random Pics eingebaut, davon werden aber oft vier gleiche angezeigt.

Danke
 
  • #8
Was hast du denn genau vor, wieviele verschiedene bilder sollen denn gleichzeitig angezeigt werden?
Ich hab das so gelöst dass ich den Zufallsgenerator dreimal laufen lassen hab - erstmal um das erste Bild zu ermitteln und dann ein zweites Mal für das zweite Bild, wenn die zweite ermittelte Zahl gleich der ersten war wurd die zweite zahl um 1 erhöht.
Und das dritte mal läuft er so lange bis die Zahl nicht gleich der ersten oder 2. ist...


Code:
<?php
$image = rand(1,7);
	$image1 = rand(1,7);
	$image2 = rand(1,7);
	if($image1 == $image){$image1++;} 
	if($image1 > 7) { $image1 = 1; }
	while(($image2 == $image1) OR ($image2 == $image))
		{
			$image2 = rand(1,7);
		}
	
?>
 
  • #9
Code:
<?php
function getRandom( $count, $max )
{ 
	$arr = array();
	while( count($arr) < $max)
	{
		$number = rand( 1, $count);
		if(!in_array($number, $arr)) $arr[] = $number;
	}
	return $arr;
}

$countImages = 20;
$maxShow = 4;

$numbers = getRandom( $countImages, $maxShow );
?>

Code:
Array
(
  [0] => 12
  [1] => 9
  [2] => 2
  [3] => 17
)
 
  • #10
  • #11
@PCDConny

Wo muss der Code mit dem Array denn rein?

Danke
 
Thema:

Random Pics auf Homepage??

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben