Seite 1 von 1

Zufallsbild

Verfasst: Di 4. Okt 2005, 09:56
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";
?>

Verfasst: Di 4. Okt 2005, 21:50
von neu@cidnet.de
hey, sowas habe ich noch gesucht.
wenn da jetzt noch en resize drin wäre... wäre es perfekt :D

Verfasst: Sa 15. Okt 2005, 10:30
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:

Verfasst: Sa 15. Okt 2005, 10:33
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

Verfasst: Sa 15. Okt 2005, 10:37
von Käferli
Hallo HerrB,

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

DANKE KÄFERLI
:wink:

Verfasst: Sa 15. Okt 2005, 11:17
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

Verfasst: Sa 15. Okt 2005, 19:39
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.

Bild wird nicht angezeigt

Verfasst: Sa 24. Dez 2005, 14:10
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?