CyroTek: Kleine Gallery

Beitrag lesen

Hello cyrotek,

Dein Code enthält eine Zeile, bei der ich nicht weiß, was Du damit bezwecken
wolltest:

if($file != substr_count($file,".jpg"))

Aber Dein Code könnte keinen Link auf ein Bild ausliefern, dass "0" heißt.
Das wäre aber ein durchaus zulässiger Name für ein Bild.
Genau genommen, würde die Schleife sogar abbrechen, wenn sie
auf ein File mit dem Namen 0 stößt.

<?php
  error_reporting(E_ALL);

$verzeichnis = openDir("rendering/small");

while (($file = readDir($verzeichnis)) !== false)
  {
    if ($file != "." && $file != "..")
    {
      if(substr($file,-4) == ".jpg")   ## nur vermeintliche JPG-Dateien verlinken
      {
        $name = htmlentities(substr($file,0,-4),ENT_QUOTES));
        echo "<a href="rendering/big/$file" \n".
             "   target="bild"\n".
             "><img src="rendering/small/$file"\n".
             "      alt="Vorschaubild"\n".
             "      title="$name"></a>&nbsp;\n";
      }
    }
  }

closeDir($verzeichnis);
?>

Probier es nochmal so

Harzliche Grüße vom Berg
http://www.annerschbarrich.de

Tom

Danke Tom!

Allerdings, war dieser code nicht das problem, sondern das in eine switch-case verbindung zu bringen. Also ich hab das jetzt soweit alles angelegt, aber er wechselt nicht zu dem jeweiligen bild, clicke ich auf das letzte bild, zeigt er mir nicht das default bild an sondern nur den text "vorschaubild". Hier der geänderte code und der switch-case code

<?php
  error_reporting(E_ALL);

$verzeichnis = openDir("rendering/small");

while (($file = readDir($verzeichnis)) !== false)
  {
    if ($file != "." && $file != "..")
    {
      if(substr($file,-4) == ".jpg")
      {
        $name = htmlentities(substr($file,0,-4),ENT_QUOTES);
        echo "<a href="?bild=$name" \n".
             "><img src="rendering/small/$file"\n".
             "      alt="Vorschaubild"\n".
             "      title="$name"></a>&nbsp;\n";
      }
    }
  }

closeDir($verzeichnis);
?>

<?php
  error_reporting(E_ALL);

$verzeichnis = openDir("rendering/big");

while (($file = readDir($verzeichnis)) !== false)
  {
    if ($file != "." && $file != "..")
    {
      if(substr($file,-4) == ".jpg")   ## nur vermeintliche JPG-Dateien verlinken
      {
        $name = htmlentities(substr($file,0,-4),ENT_QUOTES);
      }
    }
  }
   if(isset($_GET['bild'])) {
   switch($_GET['bild']){
   default: echo "<img src="./rendering/big/auge-a-df.jpg"\n>";  break;
 case "$name": echo "<img src="./rendering/big/$file" alt="Vorschaubild"\n>";  break;
}
}
else {
echo "<img src="./rendering/big/alltogether0000.jpg">";
}
closeDir($verzeichnis);
?>

Ich weiss das die doppelete funktion wahrscheinlich unnötig ist, aber es wahr halt ein versuch. ;)

<div style="padding: 0;margin:0;">
<?php
    switch($_GET['bild']) {
        default: include ("./rendering/content.php"); break;
    }
?>
</div>
<div class="rennav"><? include ("./rendering/_nav.php"); ?></div>

Und damit soll der code abgerufen werden. _nav.php ist der erste abschnitt und content.php soll der zweite sein.

Tipps oder tricks? Hab gestern schon knapp 4 stunden dran gessesen, das internet abgesucht, aber leider ohne erfolg....