Zufallsbild

Gesperrt
road.trippin
Beiträge: 14
Registriert: Mi 5. Feb 2003, 14:54
Kontaktdaten:

Zufallsbild

Beitrag von road.trippin »

Hallo,
ich habe ein Modul geschrieben mit dem man ein Zufallsbild aus einem beliebigen Verzeichnis anzeigen lassen kann.

Input

Code: Alles auswählen

echo "<table cellspacing=\"0\" cellpadding=\"5\" border=\"0\">";
echo "
        <tr>
        <td>
        Image-Directory:
       </td>
            <td>
          <input size=20 type=\"text\" name=\"CMS_VAR[1]\" value=\"CMS_VALUE[1]\">
</td>
</tr>
 </tr>
                
        <tr>
        <td>
        Image-Dateieendung (z.B. .jpg;.gif):
       </td>
            <td>
          <input size=20 type=\"text\" name=\"CMS_VAR[2]\" value=\"CMS_VALUE[2]\">
</td>
  </tr>
          <tr>
        <td>
        ALT-Text:
       </td>
            <td>
          <input size=20 type=\"text\" name=\"CMS_VAR[3]\" value=\"CMS_VALUE[3]\">
</td>
  </tr>
</table>";
Output

Code: Alles auswählen

<?
$imagedir="CMS_VALUE[1]"; 
$imagetypes=explode(";","CMS_VALUE[2]"); 
$alttext="CMS_VALUE[3]"; 
$alttext=(($alttext) ? $alttext : "Zufallsbild");


function is_image($filename,$typearray) {
  reset($typearray);
  while($val=each($typearray)) {
     if (strstr($filename,$val[value])) {
       return true;
     }
  }
}

$handle=opendir($imagedir);
$n=0;
$random_filearray=Array();
while (($file = readdir($handle))) { 
        if ($file != "." && $file != ".." && is_image($file,$imagetypes)) {
             $random_filearray[]=$file;
        }
}
shuffle ($random_filearray);

$random_image = array_pop ($random_filearray);

echo "<img src=\"$imagedir/$random_image\" border=\"0\" alt=\"$alttext\">\n";
?>
Mit dem folgenden Modul kann man ein weiteres Bild aus dem Verzeichnis anzeigen. Dieses Modul kann beliebig oft wiederholt werden. Naja nicht ganz - es müssen halt mehr Bilder als Modulaufrufe da sein...

Input:

Code: Alles auswählen

echo "<table cellspacing=\"0\" cellpadding=\"5\" border=\"0\">

          <tr>
        <td>
        ALT-Text:
       </td>
            <td>
          <input size=20 type=\"text\" name=\"CMS_VAR[3]\" value=\"CMS_VALUE[3]\">
</td>
  </tr>
</table>";
Output:

Code: Alles auswählen

<?
$alttext="CMS_VALUE[3]"; 
$alttext=(($alttext) ? $alttext : "Zufallsbild");

$random_image = array_pop ($random_filearray);

echo "<img src=\"$imagedir/$random_image\" border=\"0\" alt=\"$alttext\">\n";
?>
neu@cidnet.de
Beiträge: 356
Registriert: Do 15. Jan 2004, 21:32
Wohnort: Mönchengladbach
Kontaktdaten:

Beitrag von neu@cidnet.de »

hey, sowas habe ich noch gesucht.
wenn da jetzt noch en resize drin wäre... wäre es perfekt :D
Käferli
Beiträge: 196
Registriert: Mo 15. Mär 2004, 21:37
Kontaktdaten:

Beitrag von Käferli »

Hallo!
Ich find das klasse mit diesem Modul...nur leider krieg ich
es nicht zum Laufen, was bedeutet denn diese Meldung:

Code:

Code: Alles auswählen

Warning: opendir
(http://..../bilder/sab_02.jpg): failed to open dir: not implemented in /homepages/17/d12420566/htdocs/.../contenido/includes/include.con_editcontent.php(571) : eval()'d code on line 692 
auch versteh ich nicht ganz,
wie ich das dann mit dem 2. Modul machen muss -
Bin für jede Hilfe dankbar! Ich komme echt nicht weiter :cry:

DANKE KÄFERLI
:wink:
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Ohne mich näher damit beschäftigt zu haben, vermute ich mal, dass Du den physikalischen Pfad auf dem Server (/homepages/17/d12420566/htdocs... usw.) und nicht den http-Pfad angeben musst.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Käferli
Beiträge: 196
Registriert: Mo 15. Mär 2004, 21:37
Kontaktdaten:

Beitrag von Käferli »

Hallo HerrB,

ähm, was heißt das genau "physikalischer Pfad" :?:

DANKE KÄFERLI
:wink:
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Ähm, das Beispiel, was ich Dir gegeben habe, sagt Dir nichts?

So sieht es i.A. auf einem Webserver aus (Linux):
Webpfad: http://www.meinedomain.de/tollhier
Physik. Pfad: /providerserver/sonstwo/einkunde/meinedomain/htdocs/tollhier/

Siehe z.B. in Contenido Administration -> System.

Wenn Du
/homepages/17/d12420566/htdocs/
noch um die fehlenden Verzeichnisse bis zu dem Verzeichnis erweiterst, in dem die Bilder sind und in diesen Pfad in der Konfiguration des Moduls einträgst, sollte es gehen...

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
road.trippin
Beiträge: 14
Registriert: Mi 5. Feb 2003, 14:54
Kontaktdaten:

Beitrag von road.trippin »

HerrB hat das im wesentlichen erkannt. es muss beim verzeichnis der pfad im dateisystem des servers angegeben werden. ob das jetzt absolut (/providerserver/sonstwo/einkunde/meinedomain/htdocs/tollhier/) oder relativ vom aktuellen verzeichnis (./images/zufallsbilder/) angegeben wird ist wurscht.

das erste modul wird einfach an die stelle gesetzt, wo das erste bild angezeigt werden soll, das zweite wo alle folgenden bilder hinsollen. da muss dann nix mehr konfiguriert werden.
Qli
Beiträge: 31
Registriert: Mi 3. Dez 2003, 22:17
Kontaktdaten:

Bild wird nicht angezeigt

Beitrag von Qli »

Es wird folgender Link generiert:

http://www.eintracht-nordhorn.de/www/ei ... _klein.jpg

Richtig wäre

http://www.eintracht-nordhorn.de/front/ ... _klein.jpg

Im Backend habe ich eingetragen:
Image-Directory: /www/eintracht-noh/front/bilder_jl
Image-Dateieendung (z.B. .jpg;.gif):.jpg
ALT-Text: Zufall

Jemand eine Idee?
Gesperrt