Hallo allerseits, ich Kunde von mir ist nun zu einem anderen Provider übersiedelt und hat nun das Problem, dass neue Bilder in seiner Gallerie extrem schlecht dargestellt werden.
Ausgehend von folgendem Bild:
http://preisenschuh.at.dev.zanner-on...s/original.jpg
Wurde am alten Server folgendes Bild erstellt: )Link zur PHPINFO() Seite
http://preisenschuh.at.dev.zanner-on...ter_server.jpg
Zwar nicht so schön wie das original aber naja....
Nun am neuen Server passiert folgendes: )Link zur PHPINFO() Seite
http://preisenschuh.at.dev.zanner-on...uer_server.jpg
Man erkennt also wo das Problem ist *Fg*
Die Eingabe erfolgt über folgendes Formular:
http://preisenschuh.at.dev.zanner-on...ngabe_feld.jpg
Folgender Code wird von mir eingesetzt:
das ganze wird wie folgt aufgerufen:
Vielleicht habt Ihr ja eind Idee... ich weis echt nicht mehr so recht was ich machen soll... (Der Kern wurde leider auch nicht von mir geschrieben
Ausgehend von folgendem Bild:
http://preisenschuh.at.dev.zanner-on...s/original.jpg
Wurde am alten Server folgendes Bild erstellt: )Link zur PHPINFO() Seite
http://preisenschuh.at.dev.zanner-on...ter_server.jpg
Zwar nicht so schön wie das original aber naja....
Nun am neuen Server passiert folgendes: )Link zur PHPINFO() Seite
http://preisenschuh.at.dev.zanner-on...uer_server.jpg
Man erkennt also wo das Problem ist *Fg*
Die Eingabe erfolgt über folgendes Formular:
http://preisenschuh.at.dev.zanner-on...ngabe_feld.jpg
Folgender Code wird von mir eingesetzt:
PHP-Code:
<?php
function makeimages($thumb_x,$thumb_y,$thumb_proportion,$thumb_pro,$thumb_quality,$large_x,$large_y,$large_proportion,$large_pro,$large_quality){
/* ******************************
Übernahme der Variablen
****************************** */
$thumb_x; // Breite des Thumbnails in Pixel
$thumb_y; // Höhe des Thumbnails in Pixel
$thumb_proportion; // Proportionen sind einzuhalten wenn Wert 1 ist
$thumb_pro; // Gibt an welcher Wert ausschlaggebend ist...
$thumb_quality; // Qualität des gespeicherten Bildes INT Zahl von 0 - 100 opt. ist 80 wegen der Dateigrösse
$large_x; // Breite des grossen Bildes
$large_y; // Höhe des grossen Bildes
$large_proportion; // Proportionen sind einzuhalten wenn Wert 1 ist
$large_pro; // Gibt an welcher Wert ausschlaggebend ist...
$large_quality; // Qualität des gespeicherten Bildes INT Zahl von 0 - 100 opt. ist 80 wegen der Dateigrösse
$category = $_GET["ref_id"]; // Categorie unter welcher die Bilder vermerkt werden sollen.
$thumbpath = "../../bilder/thumb/";
$imagepath = "../../bilder/large/";
$uploaddir = "../../bilder/org/";
/* ******************************
Übernahme der Variablen
****************************** */
$f_count = count($_FILES["file"]);
for($i = 0; $i <= $f_count; $i++){
if($_FILES["file"]['tmp_name'][$i] != "none"){ // Wenn eine Datei hochgeladen wird, dann verarbeiten
if(move_uploaded_file($_FILES['file']['tmp_name'][$i], $uploaddir . $_FILES['file']['name'][$i])){
$image = ImageCreateFromJPEG($uploaddir .$_FILES['file']['name'][$i]); // Binäres Bild
$image_size = getimagesize($uploaddir . $_FILES['file']['name'][$i]); // Abmessungen des Bildes
//print_r($_FILES);
$src_x = $image_size[0]; // Auflösung des Ausgangsbild
$src_y = $image_size[1];
$filetype = ".jpg"; // Dateiname wird erstellt
$filename = time()."_" . $i .$filetype;
/* ******************************
THUMBNAIL wird erzeugt!
****************************** */
$des_thumb_x_tmp = $src_x / $src_x;
$des_thumb_y_tmp = $src_y / $src_x;
$des_thumb_x = $thumb_x;
$des_thumb_y = round(($des_thumb_x * $des_thumb_y_tmp),0);
$image_thumb = imagecreatetruecolor($des_thumb_x,$des_thumb_y);
//convert truecolor immage resource to palette image resource (so we can count the colors...)
imagetruecolortopalette($image, false, 256);
$palsize = ImageColorsTotal($image);
for ($x = 0; $x<$palsize; $x++)
{
$colors = ImageColorsForIndex($image, $x);
ImageColorAllocate($image_thumb, $colors['red'], $colors['green'], $colors['blue']);
}
imagecopyresized($image_thumb, $image, 0, 0, 0, 0, $des_thumb_x, $des_thumb_y, $src_x, $src_y);
imagejpeg($image_thumb,$thumbpath . $filename,$thumb_quality);
//echo("<img src=\"". $thumbpath . $filename."\">" . $i . "<br>");
/* ******************************
GROSSANSICH wird erzeugt!
****************************** */
$des_thumb_x_tmp = $src_x / $src_x;
$des_y_tmp = $src_y / $src_x;
$des_x = $large_x;
$des_y = round(($des_x * $des_y_tmp),0);;
$image_large = imagecreatetruecolor($des_x,$des_y);
//convert truecolor immage resource to palette image resource (so we can count the colors...)
imagetruecolortopalette($image, false, 256);
$palsize = ImageColorsTotal($image);
for ($x = 0; $x<$palsize; $x++)
{
$colors = imagecolorsforindex($image, $x);
ImageColorAllocate($image_large, $colors['red'], $colors['green'], $colors['blue']);
}
imagecopyresized($image_large, $image, 0, 0, 0, 0, $des_x, $des_y, $src_x, $src_y);
imagejpeg($image_large,$imagepath . $filename,$large_quality);
$str_sql = "insert into c_g_bilder (datum,bildtitel,bildtext,bildorg,bildthumb,bildgross,katid) ";
$str_sql = $str_sql . " values(now(),'','','" . $_FILES['file']['name'][$i] . "','" . $filename . "','". $filename ."'," . $category . ")";
//echo($str_sql);
//echo("<img src=\"". $imagepath . $filename."\">" . $i . "<br>");
mysql_query($str_sql);
}
}
}
}
function get_galleriename($ref_id){ // Zeigt den Gallerie-Namen an...
if(($ref_id == "") OR ($ref_id ==0)){ // REF ID ist nicht gesetzt also 0 => Root
$str_ref_id = "Root";
} else {
$str_sql = "select text from c_g_struktur where id = " . $ref_id;
$result = mysql_query($str_sql);
while($row = mysql_fetch_array($result)){
$str_ref_id = $row["text"];
}
}
return $str_ref_id;
}
?>
das ganze wird wie folgt aufgerufen:
PHP-Code:
if(isset($_POST["upload"])){ // Fuhrt den Fileupload incl. Eintrag in die DB aus...
makeimages($_POST["thumb_x"],$_POST["thumb_y"],$_POST["thumb_proportion"],$_POST["thumb_pro"],$_POST["thumb_quality"],$_POST["large_x"],$_POST["large_y"],$_POST["large_proportion"],$_POST["large_pro"],$_POST["large_quality"],$_GET["ref_id"]);
}
if(isset($_GET["sub"])){
if($_GET["sub"] == "addcat"){
$str_kategorie = $_POST["kategorie"];
if(strlen($str_kategorie) > 0){
$str_sql = "insert into c_g_kategorie (bezeichnung) values('" . $str_kategorie . "')";
mysql_query($str_sql);}
}
if($_GET["sub"] == "rename"){
$str_neuer_name = $_POST["f_up_name"];
$str_sql = "update c_g_struktur set text = '" . $str_neuer_name . "' where id =" . $f_ref_id;
mysql_query($str_sql);
}
}
?>
Vielleicht habt Ihr ja eind Idee... ich weis echt nicht mehr so recht was ich machen soll... (Der Kern wurde leider auch nicht von mir geschrieben
EDIT:
so große bilder bitte nicht direkt einbinden, verlinkung reicht vollkommen aus.
Kommentar