Bild zufälig wählen

raphk

Mitglied
Hallo!

Gibt es eine Möglichekeit das bei jedem Start der Page ein anderes Bild gezeigt wird? Also das man zB 5 verschiedene Bilder angibt und jedesmal wenn jemand auf die Page kommt sieht der User dann eins von den 5 Bildern das per Script zufällig ausgesucht wird.

Mfg Raphael
 
warum nicht

mahlzeit,
klar ist möglich. Es gibt dafür mehrere Möglichkeit, du musst einfach mal kreativ werden.

z.B.:
du hinterlegst Bilder in einem Ordner
bild1.jpg
bild2.jpg
bild3.jpg
....

und sagst dann:
lese das Verzeichnis
zähler die vorhandenen Bilder
wähle per rand() ein Index aus
und schreibe ihn raus mit bild$index.jpg

scripts? :-) rtfm
fertig...
bis denne,


schamahn
 
php Neuling

Also kreativ war ich ja schon indem ich mir das ausgedacht habe! :-)

Mein Problem is das ich ein PHP Neuling bin. Ich versteh das System das du vorschlägst aber hab keinen Plan wie ich zB ein Verzeichnis auslese oder die Bilder zähle.

Vielleicht könntest du mir da ein wenig weiterhelfen? :rolleyes:

Mfg Raphael
 
jo

schau mal in den Beitrag "bildervorschau" von oneslap ...
ist auf der ersten seite...

da ist alles was du brauchst, ansonsten emphiehlt sich das Manual oder selfphp.net

bis denne,

schamahn
 
Einfaches dynamisches Beispiel:
(Mini-Tutorial)

PHP:
<?php
// SETTINGS
$showdir = "verzeichnis/unterverzeichnis2";

// FUNCTION
function showdirfunc($showdir,&$a_dir){
	if ($handle = @opendir($showdir)) {
		while (false !== ($dir = readdir($handle)))
		{
			if ($dir == '.' || $dir == '..'){
			} else {
				if (is_file($dir)){$typus = exif_imagetype($dir);}
				if ($typus = 2){
					$a_dir[] = $dir;
				}
			}
		}
		closedir($handle);
	}
	return $a_dir;
}
// AUFRUF
showdirfunc($showdir,$a_dir);

/* Die Funktion liest das angegebene Verzeichnis aus und beachtet nur JPG-Dateien - Welche Dateitypen was bedeuten, findet man bei php.net unter dem Manual zur Funktion exif_imagetype().

Das Array $a_dir enthält alle Bilder.
*/
// zufallsgenerator und ausgabe eines bildes
srand ((float) microtime() * 10000000);
$a_dir;
$rand_key = array_rand ($a_dir, 1);
$zufbild = $a_dir[$rand_key[0]];
// bildgröße herausfinden
$size = getimagesize ($showdir."/".$zufbild);
?>

<html>
<head>
<title>bla</title>
</head>
<body>
Bild:<br>
<img src="<?php echo $zufbild; ?>" <?php echo $size[3];?>>
</body>
</html>

Keine Garantie, das es läuft - müßte es aber :-)
getimagesize() benötigt die GD-Bibliothek !!!
 
Zuletzt bearbeitet:
getimagesize() benötigt die GD-Bibliothek !!!
Nö braucht es nicht. Um mal http://www.selfphp.info zu zitieren
Mit getimagesize() kann man verschiedene Informationen über ein Bild
(filename) ermitteln. Dieser Befehl benötigt nicht die GD-Bibliothek.
Das Ergebnis wird in einem Array zurückgegeben, das folgende Informationen
enthält:
Breite des Bildes
Höhe des Bildes
Grafik-Typ - 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF
HTML-Zeichenkette - "height=xx width=xx"
Wenn Sie im optionalen Parameter imageinfo ein Array übergeben, trägt die
Funktion bei einigen Grafiktypen zusätzliche Daten in dieses Array ein, z.B.
Dateiinformationen bei JPEG-Bildern.

In diesem Sinne mit Frohmut ans Werk :p
 
Zurück