|
|
|
Zufälliges Bild
Zurück zur Übersicht Auf der Startseite möchte man oft ein zufälliges Bild anzeigen.
Hierfür gibt es verschiedene Möglichkeiten, z.B. mit einer Datenbank (MySQL), mit einem Array oder aus einem Ordner.
MySQL
Mit MySQL ist dies recht einfach zu lösen. Unsere Tabelle hat einmal den Pfad zu dem Bild und ggf. noch eine URL als Verlinkung.
| PHP |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
|
<?php
//Verbindung zur Datenbank
mysql_connect("localhos","User","Passwort") or die("Username/Passwort falsch");
mysql_select_db("datenbank") or die("Datenbank nicht gefunden");
//SQL Abfrage dafür
$abfrage = "SELECT * FROM tabelle ORDER BY RAND() LIMIT 1";
$ergebnis = mysql_query($abfrage);
$row = mysql_fetch_object($ergebnis);
//$row enthält jetzt die Werte für das zufällige Bild
//Bild ausgeben
echo "<img src=\"$row->bild\">";
?>
|
|
Array
In diesem Script benutzen wir ein Array um die Bilder zu speichern:
| PHP |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
|
<?php
srand ((double) microtime() * 10000000);
$bilder= array(
'http://www.url1.de' => 'image1.jpg',
'http://www.url2.de' => 'image2.jpg',
'http://www.url3.de' => 'image3.jpg',
'http://www.url4.de' => 'image4.jpg'
);
$key = array_rand($bilder);
echo "<a href=\"$key\" target=\"_blank\"><img src=\"".$bilder[$key]."\"></a>";
?>
|
|
Dabei dient $key als die URL für ein Bild.
Ordner
Dieser Script erkennt zuerst alle Bilder in einem Ordner, und gibt dann zufällig eins aus.
Eine Verlinkung ist hier nur mit Hilfe eines Array/Datenbank möglich.
| PHP |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
|
<?php
//Welcher Ordner wird ausgelesen?
$ordner = "./bilder/";
//Welche Bildendungen sollen erkannt werden?
$endungen = array("gif","jpg","jpeg","png");
/****** Bilder auslesen ******/
$verzeichnis = dir($ordner);
$bilder = array();
while($datei = $verzeichnis->read())
{
$datei_endung = substr( strrchr($datei,".") ,1);
//Ist die Datei-Endung in dem Array vorhanden?
if(in_array($datei_endung,$endungen))
{
$bilder[] = $datei;
}
}
$verzeichnis->close();
//Zufälliges Bild wählen
srand ((double) microtime() * 10000000);
$key = array_rand($bilder);
//Bild ausgeben:
echo "<img src=\"".$bilder[$key]."\">";
?>
|
|
Kommentare
Zurück zur Übersicht
Autor Andavos
|
|
|
|