Templorials
Erfahrenes Mitglied
Hi.
Habe ein Bilduploadscript was bei Hochladen eines Bildes ein kleines Vorschaubild und ein großes Bild am Server speichert. Die Pixel-Größen werden automatisch angepasst.
Hier mal ein Codeausschnitt:
Ja ist net grad schön gemacht, aber es funktioniert.... Im Firefox ganz normal. Jedoch gehts im IE einfach net.. und zwar nur JPEGs nicht.. GIFs gehn auch im IE.. bei PNG weis ich jetz garnicht..
Wieso?
mfg
Habe ein Bilduploadscript was bei Hochladen eines Bildes ein kleines Vorschaubild und ein großes Bild am Server speichert. Die Pixel-Größen werden automatisch angepasst.
Hier mal ein Codeausschnitt:
PHP:
$pic_tempname = $_FILES['file']['tmp_name'];
$pic_name = $_FILES['file']['name'];
$pic_type = $_FILES['file']['type'];
switch ($pic_type) {
case "image/gif": $pic = imagecreatefromgif($pic_tempname); break;
case "image/jpg": case "image/jpeg": $pic = imagecreatefromjpeg($pic_tempname); break;
case "image/png": $pic = imagecreatefrompng($pic_tempname); break;
default: $type_error = 1; break;
}
if($type_error != 1) {
$x = imagesx($pic);
$y = imagesy($pic);
$max_x = 145; $max_y = 120;
$max_x2 = 480; $max_y2 = 480;
if (($max_x/$max_y) < ($x/$y)) {
$save = imagecreatetruecolor($x/($x/$max_x), $y/($x/$max_x));
}
else {
$save = imagecreatetruecolor($x/($y/$max_y), $y/($y/$max_y));
}
if (($max_x2/$max_y2) < ($x/$y)) {
$save2 = imagecreatetruecolor($x/($x/$max_x2), $y/($x/$max_x2));
}
else {
$save2 = imagecreatetruecolor($x/($y/$max_y2), $y/($y/$max_y2));
}
imagecopyresized($save, $pic, 0, 0, 0, 0, imagesx($save), imagesy($save), $x, $y);
imagecopyresized($save2, $pic, 0, 0, 0, 0, imagesx($save2), imagesy($save2), $x, $y);
$string_pool = "qwertzupasdfghkyxcvbnm";
$string_pool .= "POIUZTREWQLKJHGFDSAMNBVCXY";
$string_pool .= "5172038469";
srand ((double)microtime()*1000000);
for($i=0;$i<=8;$i++) {
$random .= substr($string_pool,(rand()%(strlen ($string_pool))), 1);
}
switch ($pic_type) {
case "image/gif": $path_img = "thumb_".$rid."_".$_SESSION[id]."_".$random.".gif"; imagegif($save, "http://www.tutorials.de/forum/images/thumbs/".$path_img); $path_img2 = $rid."_".$_SESSION[id]."_".$random.".gif"; imagegif($save2, "http://www.tutorials.de/forum/images/thumbs/".$path_img2); break;
case "image/jpg": case "image/jpeg": $path_img = "thumb_".$rid."_".$_SESSION[id]."_".$random.".jpg"; imagejpeg($save, "http://www.tutorials.de/forum/images/thumbs/".$path_img); $path_img2 = $rid."_".$_SESSION[id]."_".$random.".jpg"; imagejpeg($save2, "http://www.tutorials.de/forum/images/thumbs/".$path_img2); break;
case "image/png": $path_img = "thumb_".$rid."_".$_SESSION[id]."_".$random.".png"; imagepng($save, "http://www.tutorials.de/forum/images/thumbs/".$path_img); $path_img2 = $rid."_".$_SESSION[id]."_".$random.".png"; imagepng($save2, "http://www.tutorials.de/forum/images/thumbs/".$path_img2); break;
}
$mysql_ins_img = mysql_query("INSERT INTO images (rid, uid, thumb, time) VALUES ('$rid', '".$_SESSION[id]."', '$path_img2', '".time()."');");
imagedestroy($pic);
imagedestroy($save);
imagedestroy($save2);
$upl_true = "<br><br>Erfolgreich hochgeladen. Ihr Bild wird so bald wie möglich von uns überprüft.";
}
else {
$error_format = '#990000';
}
Ja ist net grad schön gemacht, aber es funktioniert.... Im Firefox ganz normal. Jedoch gehts im IE einfach net.. und zwar nur JPEGs nicht.. GIFs gehn auch im IE.. bei PNG weis ich jetz garnicht..
Wieso?
mfg