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:
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:
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)+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")."\";");
?>
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";
?>
Kommentar