radarin
Angesehenes Mitglied
Hallo zusammen
Ich möchte in meiner Gallery in der Listenansicht 5 zufällige Bilder als Vorschau zeigen:
CODE
// Inhalt der datei randompic.inc
$vn = $localdir;
$html_vn = $httpdir;
$barray = array(1,2,3,4,5);
$verzeichnis = opendir($vn."/");
while($file = readdir($verzeichnis)) {
$s = @getimagesize($vn."/".$file);
if(in_array($s[2], $barray))
$auswahl[] = $file;
}
mt_srand((double)microtime()*1000000);
$number = mt_rand(0,count($auswahl)-1);
closedir($verzeichnis);
if($randompic == 1){echo "<img src='".$html_vn.$auswahl[$number]."' width='".$maxwidthpre."' height='".$maxwidthpre."'>"; $firstpic = $auswahl[$number];}
if($randompic == 2){
if($auswahl[$number]==$firstpic){
include("randompic.inc");
}else{
echo "<img src='".$html_vn.$auswahl[$number]."' width='".$maxwidthpre."' height='".$maxwidthpre."'>"; $secondpic = $auswahl[$number];
}
}
if($randompic == 3){
if($auswahl[$number]==$firstpic OR $auswahl[$number]==$secondpic){
include("randompic.inc");
}else{
echo "<img src='".$html_vn.$auswahl[$number]."' width='".$maxwidthpre."' height='".$maxwidthpre."'>"; $thirdpic = $auswahl[$number];
}
}
if($randompic == 4){
if($auswahl[$number]==$firstpic OR $auswahl[$number]==$secondpic OR $auswahl[$number]==$thirdpic){
include("randompic.inc");
}else{
echo "<img src='".$html_vn.$auswahl[$number]."' width='".$maxwidthpre."' height='".$maxwidthpre."'>"; $fortypic = $auswahl[$number];
}
}
if($randompic == 5){
if($auswahl[$number]==$firstpic OR $auswahl[$number]==$secondpic OR $auswahl[$number]==$thirdpic OR $auswahl[$number]==$fortypic){
include("randompic.inc");
}else{
echo "<img src='".$html_vn.$auswahl[$number]."' width='".$maxwidthpre."' height='".$maxwidthpre."'>";
}
}
Beim ersten Verzeichnis funktioniert das bestens, aber alle folgenden Verzeichnisse bekommen über die Hälfte fehlerafte Bilder, also datenamen die gar nicht existieren.
Beim Aufbau der Liste mit den Galerien lade ich diesen Code nach jedem Verzeichnis und übergebe den neuen Verzeichnispfad. Trotzdem scheint es mir ein durcheinander zu geben. Hb auch schon versucht den Code dynamisch mit Nummern zu versehen, damit jede ariable bei der Verarbeitung einen eindeutigen namen hat. Wollte aber auch nicht funktionieren. Und leider bremmst die Funktion die Seite ziemlich. Gibt es vielleicht eine elegantere Lösung..?
Beispiel
Gruss René
Ich möchte in meiner Gallery in der Listenansicht 5 zufällige Bilder als Vorschau zeigen:
CODE
// Inhalt der datei randompic.inc
$vn = $localdir;
$html_vn = $httpdir;
$barray = array(1,2,3,4,5);
$verzeichnis = opendir($vn."/");
while($file = readdir($verzeichnis)) {
$s = @getimagesize($vn."/".$file);
if(in_array($s[2], $barray))
$auswahl[] = $file;
}
mt_srand((double)microtime()*1000000);
$number = mt_rand(0,count($auswahl)-1);
closedir($verzeichnis);
if($randompic == 1){echo "<img src='".$html_vn.$auswahl[$number]."' width='".$maxwidthpre."' height='".$maxwidthpre."'>"; $firstpic = $auswahl[$number];}
if($randompic == 2){
if($auswahl[$number]==$firstpic){
include("randompic.inc");
}else{
echo "<img src='".$html_vn.$auswahl[$number]."' width='".$maxwidthpre."' height='".$maxwidthpre."'>"; $secondpic = $auswahl[$number];
}
}
if($randompic == 3){
if($auswahl[$number]==$firstpic OR $auswahl[$number]==$secondpic){
include("randompic.inc");
}else{
echo "<img src='".$html_vn.$auswahl[$number]."' width='".$maxwidthpre."' height='".$maxwidthpre."'>"; $thirdpic = $auswahl[$number];
}
}
if($randompic == 4){
if($auswahl[$number]==$firstpic OR $auswahl[$number]==$secondpic OR $auswahl[$number]==$thirdpic){
include("randompic.inc");
}else{
echo "<img src='".$html_vn.$auswahl[$number]."' width='".$maxwidthpre."' height='".$maxwidthpre."'>"; $fortypic = $auswahl[$number];
}
}
if($randompic == 5){
if($auswahl[$number]==$firstpic OR $auswahl[$number]==$secondpic OR $auswahl[$number]==$thirdpic OR $auswahl[$number]==$fortypic){
include("randompic.inc");
}else{
echo "<img src='".$html_vn.$auswahl[$number]."' width='".$maxwidthpre."' height='".$maxwidthpre."'>";
}
}
Beim ersten Verzeichnis funktioniert das bestens, aber alle folgenden Verzeichnisse bekommen über die Hälfte fehlerafte Bilder, also datenamen die gar nicht existieren.
Beim Aufbau der Liste mit den Galerien lade ich diesen Code nach jedem Verzeichnis und übergebe den neuen Verzeichnispfad. Trotzdem scheint es mir ein durcheinander zu geben. Hb auch schon versucht den Code dynamisch mit Nummern zu versehen, damit jede ariable bei der Verarbeitung einen eindeutigen namen hat. Wollte aber auch nicht funktionieren. Und leider bremmst die Funktion die Seite ziemlich. Gibt es vielleicht eine elegantere Lösung..?
Beispiel
Gruss René