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. Geht mir nicht um den Webspace, sondern einfach nur darum, dass das Bild noch angezeigt wird und man nicht scrollen muss. Leider tut sie es nicht und ich weiß so langsam nicht mehr weiter. Ich arbeite dabei mit html templates (phpkit) in welches ich das phpscript integrieren möchte.
Vielleicht kann sich ja jemand der sich mit php gut auskennt mal meinen code anschauen. Ist bestimmt ein total dummer Fehler:
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. Nur da geb ich per echo ja direkt auf der php seite aus. Weiß jemand wo der Fehler ist?
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. Geht mir nicht um den Webspace, sondern einfach nur darum, dass das Bild noch angezeigt wird und man nicht scrollen muss. Leider tut sie es nicht und ich weiß so langsam nicht mehr weiter. Ich arbeite dabei mit html templates (phpkit) in welches ich das phpscript integrieren möchte.
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)+1 != $_GET['display']) $helper0 ="<a href=\"include.php?path=galleryjonas.php&display=".($_GET['display']-1)."\" title=\"zurück\">« zurück</a> ";
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." ";
$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")."\";");
?>
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. Nur da geb ich per echo ja direkt auf der php seite aus. Weiß jemand wo der Fehler ist?
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";
?>
Kommentar