Zufallsbild mit einem Bilderpaar

Gesperrt
womic2000
Beiträge: 65
Registriert: Mo 17. Nov 2003, 11:18
Wohnort: Stuttgart
Kontaktdaten:

Zufallsbild mit einem Bilderpaar

Beitrag von womic2000 »

Hallo,

ich habe ein Seitenlayout über Tabellen aufgebaut. In 2 untereinanderliegenden Zellen dieser Tabelle soll jeweils ein Zufallsbild aus einem bestimmten Verzeichnis eingefügt werden.

Die Besonderheit:
Die beiden Bilder müssen zusammen passen. So ein Bilderpaar heisst z.B. Bild1.jpg und Bild2.jpg , oder auto1.jpg und auto2.jpg.

Die Bilder müssen getrennt sein, da sie unterschiedlich breit sind, sowie Layoutbedingt.

Ich verwende bisher 2 Module, die Fest ein bestimmtes Bilderpaar rausholen.

Das ist die einfache Beschreibung, in Wirklichkeit ist es etwas komplizierter. Aber eine Lösung zum einfachen Beispiel kann ich umsetzen in mein reelles Beispiel.

Die kompliziertere Version:
Hier ist nämlich das erste Bild ein Flash-Movie, falls kein Flash installiert ist, oder die falsche Version, wird ein gleichgroßes JPG eingefügt.
Das 2. Bild ist immer ein JPG, das jedoch zum 1. Bild inhaltlich passt.

Das Bilderpaar heisst in diesem Fall: bild1.swf, bild1.jpg und bild2.jpg
oder auto1.swf, auto1.jpg und auto2.jpg

An anderer Stelle auf dieser Homepage verwende ich bereits ein ZufallsBildModul. Dieses macht eine Liste alle Bilder im Verzeichnis und wählt eines per Zufall aus. Jetzt würde ich gerne auf den Bildname in der 2. Zelle zugreifen, diesen String ändern, um zum 2. Bild zu kommen.
(Aus der 1 eine 2 machen, und als Extension immer ".jpg")


Kennt jemanden einen Lösungsweg ?

Gruß
Michael
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Re: Zufallsbild mit einem Bilderpaar

Beitrag von mvf »

also wenn die images immer gleich enden und z.b. alles jpg sind dann könntest du z.b.

Code: Alles auswählen

$dateiname2 = strlen($dateiname1) - 4).'2.jpg';
setzen dann heisst das zweite eben xxx2.jpg

zu flash kann ich 'noch' nichts sagen da bastel ich auch gerade noch

http://contenido.org/forum/viewtopic.php?p=71470#71470
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
womic2000
Beiträge: 65
Registriert: Mo 17. Nov 2003, 11:18
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von womic2000 »

Hallo Guido,

danke für den Tipp. Das passt, alle Bilder für die 2. Zelle enden mit '2.jpg'

Aber wie bekomme ich die Info über den ersten Dateiname aus dem ersten Modul ins 2. Modul um diesen wie von dir beschrieben abzuändern ?

Fällt mir grad ein, vielleicht über die Session ? Gibts vielleicht in Contenido einen einfacheren Weg ?

Gruß
Michael
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf »

nicht das ich wirklich ahnung habe aber man müsste es einfach mal probieren

erzeuge die vaiable im ersten modul und setze doch mal im 2. modul einfach ein echo der variablen des bildes ein und guck mal

bin auch kein php könner aber gehen wird es ganz sicher (irgendwie) :?
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
womic2000
Beiträge: 65
Registriert: Mo 17. Nov 2003, 11:18
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von womic2000 »

Problem gelöst !!!!

In dem Modul das zuerst gerufen wird, definiere ich eine globale Variable.
Auf diese kann ich im 2. Modul zugreifen.

Habe die Module angepasst, es funktioniert.


Danke.

Michael
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf »

spi feut mich für dich, magste den code sharen?
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
womic2000
Beiträge: 65
Registriert: Mo 17. Nov 2003, 11:18
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von womic2000 »

Kein Problem:

Output des 1. Modules:

Code: Alles auswählen

<?php

     // Registrieren der Variable mit dem ermittelten Bildname
     global $zufallsbild_gross;

     $dateifilter = "1.jpg";

     $verzeichnis = dir("upload/Headergrafiken/");

     while($datei = $verzeichnis->read()) {
           if (substr($datei,strlen($datei)- 5) == $dateifilter) {
               $filearray[] = $datei;
          }
     }
     $verzeichnis->close();

     // Eigentliche Random-Funktion
     mt_srand((double)microtime()*1000000);
     $iRandom = mt_rand(0,count($filearray)-1);

     $zufallsbild_gross = $filearray[$iRandom];

     echo '<img src=upload/Headergrafiken/'.$zufallsbild_gross.'>',chr(10);
 
?>
Output des 2. Moduls:

Code: Alles auswählen

<?php

     $zufallsbild_klein = substr($zufallsbild_gross,0,strlen($zufallsbild_gross)- 5)."2.jpg";

     echo '<img src=upload/Headergrafiken/'.$zufallsbild_klein.'>',chr(10);

?>
In beiden Modulen sind meine Pfade fest reingeschrieben. Beiden haben keinen Input-Bereich.

Das 1. Modul muss zuerst gerufen werden, damit die globale Variable gesetzt wird.

Gruß
Michael
Gesperrt