Random bild, aber wie?

Klegs

Angesehenes Mitglied
hallo zusammen

Wenn ich auf die seite www.szch gehe erscheint jedesmal ein anderes bild.
Wir wird das gemaht? Im quelentexte hab ich nicht verdächtiges entdeckt.......

Gruss
 
Hallo an alle,

PHP ist nicht mein Ding, aber das hab ich mal gesehen beim CMS Contrexx ( könnte das sogar sein ).

Denkanstoss für die PHP-Profis. Das ging mit ner Rotator.php

QUOTE <?php
$files = array();
$folder = './';

$handle = opendir($folder);
$exts = explode(' ','jpg jpeg png gif');
while (false !== ($file = readdir($handle))) {
foreach($exts as $ext) { // for each extension check the extension
if (preg_match('/\.'.$ext.'$/i', $file, $test)) { // faster than ereg, case insensitive
$files[] = $file; // it's good
}
}
}
closedir($handle); // We're not using it anymore
$rand = array_rand($files);
header('Location: '.$folder.$files[$rand]); // Voila!
?>


Die Bilder lagen dann mit der rotator.php in einem Ordner und waren benannt: 1.jpg, 2.jpg, 3.jpg, etc. . Als ich andere Bilder genauso benannt einfügte, übernahm er sie problemlos.

Also abwarten. Da melden sich bestimmt noch ein paar und können dir mit dem von mir weiterhelfen.
Oder nehmen es als Denkanstoss.

gruss Björn
 
Das Design der Seite gefällt mir gut! Einfach aber wirkungsvoll.

Also um das zu realisieren muss man auch kein großer Programmierer sein.
Björn Kaiser liefert da ja schon die Premium-Lösung:)

Simpler mit vorgegebener Bildliste:

CODE
$bilder[]='blabla1.jpg';
$bilder[]='blabla2.jpg';
$bilder[]='blabla3.jpg';
$bilder[]='blabla4.jpg';
echo '<img src="random/'.array_rand($files);.'" alt="Unser tolles Land">';



 
CODE <?php

$bilder[0]="foto1.jpg";
$bilder[1]="foto2.jpg";
$bilder[2]="foto3.jpg";

srand(microtime()*1000000);
$zufall = rand(0,$bilder-1);

?>


<img src="bilder/<?=$bilder[$zufall];?>" border="0" />



das "<img src="bilder/<?=$bilder[$zufall];?>" border="0" />" kannst du beliebig auf der Seite platzieren!

Liebe Grüße Bjoern
 
So und hier moch das Ganze in ColdFusion:
5 Bilder im Ordner "Bilder" anlegen
1.gif,2.gif,3.gif,4.gif,5.gif,

Und so per Zfall aufrufen (bei jedem Seitenrefresh ein neues Bild)

<cfoutput><img src="bilder/#RandRange(1, 5)#.gif" border="0"></cfoutput>

Gruß Ronny
 
Das Ganze ohne DB
<?php
$MIN = 1; // Minimale Zufallszahl
$MAX = 126; // Maximale Zufallszahl
$i = rand($MIN, $MAX);
echo "<img src='minibild/$i.jpg' alt='$keywords' style='border:1px solid #ccc;' title='$keywords' />";
?>
Mit DB
<?php
$verbindung = mysql_connect ('localhost', 'DBBENUTZER', 'PASSWORT') or die ('I cannot connect to the database because: ' . mysql_error()); mysql_select_db ('DATENBANK');

$abfrage = "SELECT id,title,description,kommentar FROM minibild ORDER BY RAND() LIMIT 1";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
echo "<img src='http://DEINEURL/minibild/$row->description' alt='Motivationsbilder'/><br />";
}
?>
gruss
Antoine
 
Hallo zusammen

Vielen dank für die vielen antworten!

Noch ne frage zu den codes.

Bau ich diese codes einfach auf der site ein, wo ich das bild anzeigen lassen will?
Und gibt es da einen ganz speziellen ort wo der code rein muss?

Gruess
 
Uii, anscheinden befindest Du Dich noch in den Anfängen Deiner Programmierkarriere.
Hier http://www.schattenbaum.net/php/ findest Du ein Tutorial, dass PHP sehr gut erklärt.
Bevor Du die Bilder dynamisch ausgeben kannst, musst Du sie erst einmal auf den Server bringen.
Entweder per MySQL Datenbank und HTTP Upload oder sonst zuerst manuell durch nummerieren und dann per FTP auf den Server.
Viel Erfolg und gutes Lernen wünscht Dir
Antoine
 
QUOTE (Antoine Johannes @ So 4.3.2007, 20:33) Das Ganze ohne DB
<?php
$MIN = 1; // Minimale Zufallszahl
$MAX = 126; // Maximale Zufallszahl
$i = rand($MIN, $MAX);
echo "<img src='minibild/$i.jpg' alt='$keywords' style='border:1px solid #ccc;' title='$keywords' />";
?>

gruss
Antoine

Hallo

Möchte an dieser stelle wieder einmal dankeschön sagen, für die hilfe die hier immer wieder geboten wird!

Hat super funktioniert mit dem code! Danke
tongue.gif


Gruess
 
@cusco_ii
Wieso kein Java Script?
Solange es Serverseitig geht, ist es besser kein Java Script zu verwenden, den über den Client hat der Progammierer keine Kontrolle.
PHP (oder so) = Serverseitig
Java Script = Clientseitig
 
Tag zusammen,

Java Script

Tagesgrafik laden

Die Dateien "so.jpg", "mo.jpg", "di.jpg", "mi.jpg", "do.jpg", "fr.jpg", "sa.jpg" müssen sich im selben Verzeichnis befinden.
Mit diesem Script kann man Tagesabhängig verschiedene Bilder laden
lassen. Also zum Beispiel für Monatag eine bestimmte Grafik und wieder eine völlig andere.

<script LANGUAGE="JavaScript">
<!-- Anfang
heute = new Date();
tag = heute.getDay();
grafik = new Array("so.jpg", "mo.jpg", "di.jpg", "mi.jpg", "do.jpg", "fr.jpg", "sa.jpg");
document.write("<img src='" + grafik[tag] + "'>"+grafik[tag]);
// Ende -->
</script>
 
QUOTE (Antoine Johannes @ So 15.4.2007, 11:07) @cusco_ii
Wieso kein Java Script?
Solange es Serverseitig geht, ist es besser kein Java Script zu verwenden, den über den Client hat der Progammierer keine Kontrolle.
PHP (oder so) = Serverseitig
Java Script = Clientseitig

Warum den Server unnötig Belasten? 97% haben Javascript aktiviert und 95 % Nutzen IE oder FireFox, das ist so gut wie Sicher. Vielleicht kommt das aber auch daher das mein Server kein PHP kennt und ich ganz auf Javascript angewiesen bin, aber ich komme damit zurecht.
 
QUOTE
Warum den Server unnötig Belasten? 97% haben Javascript aktiviert und 95 % Nutzen IE oder FireFox, das ist so gut wie Sicher. Vielleicht kommt das aber auch daher das mein Server kein PHP kennt und ich ganz auf Javascript angewiesen bin, aber ich komme damit zurecht.


- Der Server wird durch diese 5 Zeilen (oder so) *nicht* belastet.
- Indexierung in einigen Suchmaschinen: Bilder die in JavaScript eingebunden werden, werden nicht von allen Suchmaschinen indexiert.

Es ist unprofessionell irgendwelche Benutzer auszusperren, nur weil sie kein JavaScript haben. Auch viele Handy-Browser, etc. interpretieren kein JavaScript. Ich finds okay, JavaScript bei hochmodernen Ajax-Seiten vorauszusetzen, aber sonst...

Wenn du aber kein PHP-Server hast, ist das was anderes
wink.gif
. Gibt ja sonst auch ein <noscript> wo du ein statisches Bild einbinden kannst für die Benutzer die JavaScript deaktiviert haben.
 
Zurück
Oben