hi @ all
jetzt habe ICH mal wieder ein problem.
die beigefügte fkt speichert mir ein bild in der DB ab.
soweit ist auch alles in ordnung.
jetzt habe ich aber eine änderung begefügt, dass ein bild,
welches > 390 pixel breit und vom typ JPEG ist, automatisch
auf 390er breite verkleinert wird.
das verkleinern klappt auch, wenn man es direkt ausgibt. da
ich die verkleinerten daten natürlich auch wieder in die DB
schreiben will, habe ich mit ob_*() gearbeitet.
aber irgendwie sind in $data wohl keine richtigen imagedaten
mehr enthalten.
kann mit jemand einen tipp geben?
danke
jetzt habe ICH mal wieder ein problem.
die beigefügte fkt speichert mir ein bild in der DB ab.
soweit ist auch alles in ordnung.
jetzt habe ich aber eine änderung begefügt, dass ein bild,
welches > 390 pixel breit und vom typ JPEG ist, automatisch
auf 390er breite verkleinert wird.
das verkleinern klappt auch, wenn man es direkt ausgibt. da
ich die verkleinerten daten natürlich auch wieder in die DB
schreiben will, habe ich mit ob_*() gearbeitet.
aber irgendwie sind in $data wohl keine richtigen imagedaten
mehr enthalten.
kann mit jemand einen tipp geben?
danke
PHP-Code:
function GemBrAdminSaveInhaltImage($pageid,$TypeId,$ImageData,$Image) {
if (is_uploaded_file($ImageData["tmp_name"])) {
$file_name = $ImageData["name"];
$file_size = $ImageData["size"];
$file_type = $ImageData["type"];
$data = addslashes(fread(fopen($ImageData["tmp_name"], "r"), $ImageData["size"]));
$imagehw = GetImageSize($ImageData["tmp_name"]);
$ImageWidth = $imagehw[0];
$ImageHeight = $imagehw[1];
if (ereg("image/(pjpeg|jpeg)",$file_type) && $ImageWidth > 390) {
$verhaeltnis = $ImageWidth / 390;
$ImageWidth = 390;
$ImageHeight = round ($ImageHeight / $verhaeltnis);
$src_img = ImageCreateFromJpeg($ImageData["tmp_name"]);
$dst_img = ImageCreate($ImageWidth,$ImageHeight);
ImageCopyResized( $dst_img, $src_img, 0, 0, 0, 0, $ImageWidth, $ImageHeight, ImageSX($src_img), ImageSY($src_img) );
// save output to a buffer
ob_start();
ImageJPeg($dst_img, '', 60);
$data = ob_get_contents(); // <<<------ HIER MUSS WAS SEIN ???
ob_end_clean();
// $data = addslashes($data); // nur test gewesen
$file_size = "123";
}
else {
$data = addslashes(fread(fopen($ImageData["tmp_name"], "r"), $ImageData["size"]));
}
$result = mysql_query ( "INSERT INTO GemBr_Content ( NaviId, TypId ) VALUES ('".$pageid."', '".$TypeId."' )" );
$result = mysql_query ( "INSERT INTO GemBr_Content_Image".
" ( ContentId, ImageFile, ImageDesc,".
" ImageData, ImageFileType, ImageFileSize,".
" ImageWidth ,ImageHeight, ImageBorder,".
" ImageAlign, ImageAlt ) VALUES ".
" ('".mysql_insert_id()."','".$file_name."', '".$Image[desc]."',".
" '".$data."', '".$file_type."', '".$file_size."',".
" '".$ImageWidth."', '".$ImageHeight."', '".$Image[border]."',".
" '".$Image[align]."', '".$Image[alt]."')" );
}
}
Kommentar