Raven280438
Erfahrenes Mitglied
Hi,
ich möchte die Bilder, die mittels eines Formulars hochgeladen wurden in 2 verschiedenen Größen in einer Datenbank speichern.
Wie kann ich die in der Größe veränderten Bilder ohne sie vorher zwischenzuspeichern in einen String lesen, damit ich ihn in der Datenbank speichern kann?
Hier meine Funktion:
Im Moment wird nich das Bild in der Datenbank gespeichert, sondern einfach nur "Resource id #14".
Kann mir jemand weiterhelfen?
Gruß
ich möchte die Bilder, die mittels eines Formulars hochgeladen wurden in 2 verschiedenen Größen in einer Datenbank speichern.
Wie kann ich die in der Größe veränderten Bilder ohne sie vorher zwischenzuspeichern in einen String lesen, damit ich ihn in der Datenbank speichern kann?
Hier meine Funktion:
PHP:
<?php
//Bild in Orginal- und Thumb-Größe in Datenbank speichern
function save_pic($pfad) {
//Bild mit Breite 900
$size = getimagesize($pfad);
$width = $size[0];
$height = $size[1];
$new_width = 900;
$new_height = intval($height*$new_width/$width);
$image_p = imagecreatetruecolor($new_width, $new_height);
if($size[2] == 1) {
//GIF
$image = imagecreatefromgif($pfad);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
$bildtyp = "GIF";
} elseif ($size[2] == 2) {
//JPEG
$image = ImageCreateFromJPEG($pfad);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
$bildtyp = "JPEG";
} elseif ($size[2] == 3) {
//PNG
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
#$image_orginal = ImagePNG($image_p);
$bildtyp = "PNG";
}
$image_orginal = $image_p;
unset($size,$width,$height,$new_width,$new_height,$image_p,$image);
//Bild in Thumbnail-Größe
$size = getimagesize($pfad);
$width = $size[0];
$height = $size[1];
$new_height = 100;
$new_width = intval($width*$new_height/$height);
$image_p = imagecreatetruecolor($new_width, $new_height);
if($size[2] == 1) {
//GIF
$image = imagecreatefromgif($pfad);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
} elseif ($size[2] == 2) {
//JPEG
$image = ImageCreateFromJPEG($pfad);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
} elseif ($size[2] == 3) {
//PNG
$image = ImageCreateFromPNG($pfad);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
}
$image_thumb = $image_p;
//in Datenbank speichern
db_query("INSERT INTO bilder (id,name,bildtyp,bild_normal,bild_thumb) VALUES('','".basename($pfad)."','$bildtyp','$image_orginal','$image_thumb')");
}
?>
Im Moment wird nich das Bild in der Datenbank gespeichert, sondern einfach nur "Resource id #14".
Kann mir jemand weiterhelfen?
Gruß