Zufallsgenerierte Bildergalerie

tempa wrote this 19:27:

Gesteuert wird die Galerie von zwei ini-Files, um die Daten und Einstellungen aufzunehmen und an PHP zu übergeben. Die Datenstruktur eines Ini-Textfiles ist einfach und übersichtlich und wird mit parse_ini_file() (siehe Zeile 4) direkt in einem Array aufgenommen.

In eckigen Klammern ist der Array-Key, gefolgt vom Parameter-Key ‚param1‘, ‚param2‘ in einem nested Array. Die Bezeichnungen sind frei wählbar. und erlauben so die sprechende und übersichtliche Darstellung der Array-Inhalte, siehe Galerie-Setting und Galeriedaten.

  1. [Key]
  2. param1= ""
  3. param2= ""

Der Zufallsgenerator kommt von array_rand() (siehe Zeile 7). Schließlich noch mittels der Bausteine und dem array_rand den HTML code generieren (Zeile 10).

  1. $cPath = "";
  2. $tcPhrases = $cPath.'tc_randomizer_setting.ini';
  3. $tcThumbs = $cPath.'tc_randomizer.ini';
  4. $phrasesArr = (file_exists($tcPhrases)) ?
    parse_ini_file($tcPhrases, TRUE) : die("Phraselist does not exist.");
  5. $thumbsArr = (file_exists($tcThumbs)) ?
    parse_ini_file($tcThumbs, TRUE) : die("Thumbslist does not exist.");
  6. $tci =($phrasesArr['repeatLine']['anz']=="")?
    '2' : $phrasesArr['repeatLine']['anz'];
  7. $randThumbs = array_rand($thumbsArr,6);
  8. for($tcj=0; $tcj< $tci; $tcj++){
  9. $picArr = explode(',',$thumbsArr[$randThumbs[$tcj]]['listPic']);
  10. echo "{$phrasesArr['htmlBausteine']['htmlB1']}<a
    href=\"{$tcjumper}index.php?p={$randThumbs[$tcj]}\" {$phrasesArr['linkParam']['aP3']}
    {$phrasesArr['linkParam']['aP4']}>{$phrasesArr['htmlBausteine']['htmlB2']}<img
    src=\"{$tcjumper}img/{$picArr[array_rand($picArr)]}\"
    alt=\"{$phrasesArr['theLine']['phrase1']}{$thumbsArr[$randThumbs[$tcj]]['range1']}
    {$thumbsArr[$randThumbs[$tcj]]['altText']}\" {$phrasesArr['htmlBausteine']['imgP1']}
    {$phrasesArr['htmlBausteine']['imgP2']}{$phrasesArr['htmlBausteine']['imgP3']} {$slash}>
    {$phrasesArr['htmlBausteine']['htmlB3']}</a>{$phrasesArr['htmlBausteine']['htmlB4']}<a
    href=\"{$tcjumper}index.php?p={$randThumbs[$tcj]}\" {$phrasesArr['linkParam']['aP3']}
    {$phrasesArr['linkParam']['aP4']}>{$phrasesArr['theLine']['phrase2']}
    {$thumbsArr[$randThumbs[$tcj]]['range2']}{$thumbsArr[$randThumbs[$tcj]]['linkText']}</a>
    {$phrasesArr['htmlBausteine']['htmlB5']}\r\n";
  11. }

Das Resultat des Codes sieht unter der Haube (im Source) wie Folgend aus:

  1. <dl class="randgal">
  2. <dt><a href="index.php?p=t01"><img
    src="img/t01e_thumb.jpg" alt="Template 01 A-G" /></a></dt>
  3. <dd><a href="index.php?p=t01">Template 01 A-G</a></dd>
  4. <dt><a href="index.php?p=t02"><img
    src="img/t02a_thumb.jpg" alt="Template 02 A" /></a></dt>
  5. <dd><a href="index.php?p=t02">Template 02 A</a></dd>
  6. <dt><a href="index.php?p=t10"><img
    src="img/t10a_thumb.jpg" alt="Template 10 A" /></a></dt>
  7. <dd><a href="index.php?p=t10">Template 10 A</a></dd>
  8. <dt><a href="index.php?p=t14"><img
    src="img/t14b_thumb.jpg" alt="Template 14 A-F" /></a></dt>
  9. <dd><a href="index.php?p=t14">Template 14 A-F</a></dd>
  10. <dt><a href="index.php?p=t20"><img
    src="img/t20f_thumb.jpg" alt="Template 20 A-F" /></a></dt>
  11. <dd><a href="index.php?p=t20">Template 20 A-F</a></dd>
  12. <dt><a href="index.php?p=t21"><img
    src="img/21d_thumb.jpg" alt="Template 21 A-H" /></a></dt>
  13. <dd><a href="index.php?p=t21">Template 21 A-H</a></dd>
  14. </dl>

Die Demo gibt es hier (Demo-Source).

Leave a Reply