Bilder kleiner anzeigen geht nicht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bilder kleiner anzeigen geht nicht

    Hallo,

    ich bin leider kein php Profi. Mach das eher nebenbei als Hobby.
    Ich versuche gerade bei meiner Bildergalerie eine Funktion einzubauen,
    die die Bilder verkleinert wenn sie eine bestimte größe überschreiten.
    Leider tut sie es nicht und ich weiß so langsam nicht mehr weiter.

    Vielleicht kann sich ja jemand der sich mit php gut auskennt mal meinen code anschauen.
    Ist bestimmt ein total dummer Fehler:
    PHP-Code:
    <?php
    error_reporting
    (0);
    if(!
    defined('pkFRONTEND') || pkFRONTEND!='public')
        die(
    'Direct access to this location is not permitted.');

    $picpfad "./images/gallery/jonas/";
    $handle opendir($picpfad);
    $lv 1;
    while(
    $file readdir($handle)){
    if(
    $file != "." && $file != ".."){
    if(
    preg_match("/.(jpg|gif|png)$/i"$file)){
    $pic[$lv] = $file;
    $lv++;
    }
    }
    }
    closedir($handle);

    // Begin meiner Verkleinerungsfunktion

    $size = ($picpfad.$pic[$_GET['display']]); // Bild einlesen
    $imagewidth $size[0]; // Breite auslesen
    $imageheight $size[1]; // Höhe auslesen
    $maxwidth "340";
    if (
    $imagewidth $maxwidth)
      {
      
    $imageprop=$maxwidth/$imagewidth;
      
    $imagevsize$imageheight*$imageprop;
      
    $imagewidth=$maxwidth;
      
    $imageheight=ceil($imagevsize);
      }

    // Ende meiner Verkleinerungsfunktion

    $displaypictures count($pic);
    $piceigenschaften getimagesize($picpfad.$pic[$_GET['display']]);
    if(!isset(
    $_GET['display'])) $_GET['display'] = 1;
    if((
    $displaypictures $displaypictures)+!= $_GET['display']) 

    $helper0 ="<a href=\"include.php?path=galleryjonas.php&display=

    "
    .($_GET['display']-1)."\" title=\"zur&uuml;ck\">« zur&uuml;ck</a>&nbsp;&nbsp;";
    if(
    $displaypictures != $_GET['display']) $helper1 "
    <a href=\"include.php?path=galleryjonas.php&display=
    "
    .($_GET['display']+1)."\" title=\"weiter\">weiter »</a>";

    $helper "".$_GET['display']." von ".$displaypictures." &nbsp;";
    $helper2 "<img src=\"".$picpfad.$pic[$_GET['display']]."\" ".$piceigenschaften[3].
    width='
    $imagewidth' height='$imageheight
    alt=\"Picture "
    .$_GET['display']." / ".$displaypictures."\" />";
    $helper3 "<a href=\"".$picpfad.$pic[$_GET['display']]."\" rel=\"lightbox\">";
    eval(
    "\$site_body.= \"".pkTpl("galleryjonas")."\";");
    ?>
    leider funktioniert das irgendwie nicht.
    Zur Info: DIe Ausgabe wird als Variable ($helper2 und $helper3)
    an ein html Template übergeben. Vielleicht liegt es auch daran.

    Ich hab die Variablen $imagewidth und $imageheight mal mit ausgeben lassen. Die geben mir . und / als Wert wieder.

    Wenn ich nur die verkleinerungsfunktion in einer eigenen php seite
    aufrufe und mit festen Pfaden und einem festen Bild arbeite,
    geht es siehe unterer Code. Weiß jemand wo der Fehler ist?

    code:
    PHP-Code:
    <?php
    error_reporting
    (1);
    $size GetImageSize ("testbild.jpg"); // Bild einlesen
    $imagewidth $size[0]; // Breite auslesen
    $imageheight $size[1]; // Höhe auslesen
    $maxwidth "400";
    if (
    $imagewidth $maxwidth)
      {
      
    $imageprop=$maxwidth/$imagewidth;
      
    $imagevsize$imageheight*$imageprop;
      
    $imagewidth=$maxwidth;
      
    $imageheight=ceil($imagevsize);
      }
    echo 
    "<a href=\"testbild.jpg\"rel=\"lightbox\"><img src=\"testbild.jpg\" 
    width=\"
    $imagewidth\" height=\"$imageheight\"></a>"// Bild anzeigen
    echo "$imagewidth";
    echo 
    "$imageheight";
    ?>
    Zuletzt geändert von the-duke; 07.03.2008, 18:26.

  • #2
    code umbrechen! selbst ich mit einer auflösung von 1600x1200 muss noch horizontal scrollen.

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      sorry, dachte das macht das Forum automatisch. Habs abgeändert. Hat denn jemand ne Lösung, was ich falsch mache? Liegt es daran, dass ich den Wert mit einer Variablen an ein html Template übergebe? Die Test php seite geht. Nur da geb ich per echo ja direkt auf der php seite aus.

      Kommentar


      • #4
        Problem gelöst:
        Und zwar hatte ich eine Variable für die Bildgröße in meinem <img>
        PHP-Code:
        ".$piceigenschaften[3]." 
        Daher hat er die Größe des Bildes genommen und die verkleinerte hinten rangehängt. Nur dass ja nur der erste Wert zählt.
        Außerdem habe ich 2 mal getimagesize vergeben. einmal
        PHP-Code:
        $piceigenschaften getimagesize($picpfad.$pic[$_GET['display']]); 
        und einmal hier
        PHP-Code:
        $piceigenschaften getimagesize($picpfad.$pic[$_GET['display']]); 
        nur dass beim zweiten Mal halt das getimagesize fehlte

        Jetzt funktioniert es. Allerdings nicht bei dem ersten Bild. Aber da komm ich bestimmt noch hinter warum das da nicht geht. Hab ja bisher erst bei einer Kategorie dieses Script eingebaut.

        Kommentar

        Lädt...
        X