Hey Leute,
ich habe ein kleines Problem was mein Upload/anzeigen von Bilder angeht!
Ich speichere die Bilder nach dem Upload in 2 verzeichnisse. Bilder und Thumbnails.
Dann versuch ich sie anzeigen zu lassen und habe mir hierfür auch eine Klasse geschrieben. Diese Klasse verhält sich allerdings ein wenig komisch!
Rufe ich die Klasse aus der gleichen PHP datei auf, bzw. die nötige Funktion zum anzeigen des Bildes, so funktionierts. Erzeug ich ein Objekt der Klasse in einer anderen Datei und versuche DANN die Funktion aufzurufen, so zeigt er nichts an! Ich versuch schon seit Stunden eine Lösung zu finden, aber ich komme nicht weiter
Hier der Relevante Code:
Habe natürlich den dateinamen usw. schon überprüft! Das doppelt .jpg kommt daher, dass ich später den primary key aus der datenbank als Namen verwenden will. Sollte ja auch keine Probleme machen (wurde auch anders getestet mit einem Bild ohne doppelt .jpg )
Ich hoffe mir kann wer helfen :|
Liebe Grüße,
Jens
ich habe ein kleines Problem was mein Upload/anzeigen von Bilder angeht!
Ich speichere die Bilder nach dem Upload in 2 verzeichnisse. Bilder und Thumbnails.
Dann versuch ich sie anzeigen zu lassen und habe mir hierfür auch eine Klasse geschrieben. Diese Klasse verhält sich allerdings ein wenig komisch!
Rufe ich die Klasse aus der gleichen PHP datei auf, bzw. die nötige Funktion zum anzeigen des Bildes, so funktionierts. Erzeug ich ein Objekt der Klasse in einer anderen Datei und versuche DANN die Funktion aufzurufen, so zeigt er nichts an! Ich versuch schon seit Stunden eine Lösung zu finden, aber ich komme nicht weiter
Hier der Relevante Code:
PHP:
<?php
class Verkleinern
{
function Verkleinern()
{}
function verkleinernProportional($id)
{
$filename= "Bilder/$id.jpg";
$image = imagecreatefromjpeg($filename);
$size = getimagesize($filename);
$maxHeight = 200;
$maxWidth = 400;
$width_old = $size[0];
$height_old = $size[1];
// Get new dimensions
$ratio_orig = $width_old/$height_old;
if ($maxWidth/$maxHeight > $ratio_orig)
{
$maxWidth = $maxHeight*$ratio_orig;
}
else
{
$maxHeight = $maxWidth/$ratio_orig;
}
$newimage = imagecreatetruecolor($maxWidth, $maxHeight);
imagecopyresampled($newimage, $image, 0, 0, 0, 0, $maxWidth, $maxHeight, $width_old, $height_old);
imagejpeg($newimage,"Thumbnails/$id.jpg");
}
function speichereBild($bild)
{
}
function zeigeBild($id)
{
header('Content-type: image/jpeg');
$filename = "Bilder/$id.jpg";
$image = imagecreatefromjpeg($filename);
imagejpeg($image);
}
function zeigeThumbnail($id)
{
header('Content-type: image/jpeg');
$filename = "Thumbnails/$id.jpg";
$image = imagecreatefromjpeg($filename);
imagejpeg($image);
}
}
//Diese Ausgabe funktioniert!
$dies = new Verkleinern();
$dies->zeigeBild("Atom13-11");
?>
PHP:
if(isset($_FILES['form_data']))
{
rename($tmp_name,$_SERVER['DOCUMENT_ROOT']."/Test/Bilder/$dateiname.jpg");
require_once("Verkleinern.class.php");
//Diese Ausgabe funktioniert nicht!
$verkleinern = new Verkleinern();
$verkleinern->verkleinernProportional($dateiname);
}
Habe natürlich den dateinamen usw. schon überprüft! Das doppelt .jpg kommt daher, dass ich später den primary key aus der datenbank als Namen verwenden will. Sollte ja auch keine Probleme machen (wurde auch anders getestet mit einem Bild ohne doppelt .jpg )
Ich hoffe mir kann wer helfen :|
Liebe Grüße,
Jens