Jak poprawic ten kod - wiem ze nie jest optymalny.
Założenia są takie by skrypt pobieral obrzek | zapisywał w wskazanym katalogu obrazek o rozmiarze nie wiekszym niz w zmiennej | tworzyl jego miniaturke o danych wymiarach.
<?php case'Dodaj': $id=$_POST['kategoria_id']; $zap = "SELECT * FROM galkat WHERE id_kategoria='$id'"; $poziom = $rzad['poziom']; //spr czy user jest zalogowany - posiada sesje i nadajemy potrzebne wartosci z sesji albo wstawiamy ZERA { $nr=$_SESSION['nr']; $poziomu=$_SESSION['ranga']; } else { $nr=0; $poziomu=1; } if($poziom <= $poziomu) { $czy=1; } else { $czy=0 ; } $tytul = $_POST['tytul']; $tresc = $_POST['tresc']; $ip = $_SERVER['REMOTE_ADDR']; $id2 = $_POST['podkat_id']; $obrazek = $_FILES['obrazek']['name']; // umieszczenie obrazu i sprawdzenie jego formatu $ImageDir ="image/max/"; $ImageThumb = "image/min/"; $ImageName = $ImageDir . $obrazek; // gdy wskazany jest obrazek { // pobranie informacji na temat umieszczonego obrazu if ( ($type == 1) or ($type==2) or ($type==3) ) { //////////////// $insert = "INSERT INTO foto VALUES ('', '$id', '$id2','$nr', '$czy', '0', '$data', '$tytul', '$tresc', 'image/auto.jpg', 'image/auto.jpg','160', '120', '$ip' )"; $newfilename = $ImageDir . $lastpicid . ".jpg"; ////////////////////////////////// else { if ($type == 1) { $image_old = imagecreatefromgif($ImageName); } elseif ($type == 3) { $image_old = imagecreatefrompng($ImageName); } // skonwertuj obraz do formatu JPG $image_jpg = imagecreatetruecolor($width, $height); imagecopyresampled($image_jpg, $image_old, 0, 0, 0, 0, $width, $height, $width, $height); imagejpeg($image_jpg, $newfilename); imagedestroy($image_old); imagedestroy($image_jpg); imagedestroy($image_old); } //^^^^^^^^^^^^^^^^^ if ($height > 600) { $ilemax= $height / 600; $sz = ceil( $width / $ilemax); $wy = 600; $thumb_w = $sz; $thumb_h = $wy; } else { $thumb_w = $width; $thumb_h = $height; } $thumb_w = $sz; $thumb_h = $wy; // utwórz miniaturkę $large = imagecreatefromjpeg($newfilename); $thumba = imagecreatetruecolor($thumb_w, $thumb_h); imagecopyresampled($thumba, $large, 0, 0, 0, 0, $thumb_w, $thumb_h, $width, $height); $newfile = $newfilename; imagejpeg($thumba, $newfile); // rename( $newthumbname, $xxx); imagedestroy($large); imagedestroy($thumba); //^^^^^^^^^^^^^ $newthumbname = $ImageThumb . $lastpicid . ".jpg"; // pobierz wymiary miniaturki if ($height > 120) { $ile= $height / 120; $wysokosc = 120; $thumb_width = $szerokosc; $thumb_height = $wysokosc; } else { $thumb_width = $width; $thumb_height = $height; } $thumb_width = $szerokosc; $thumb_height = $wysokosc; // utwórz miniaturkę $largeimage = imagecreatefromjpeg($newfilename); $thumb = imagecreatetruecolor($thumb_width, $thumb_height); imagecopyresampled($thumb, $largeimage, 0, 0, 0, 0, $thumb_width, $thumb_height, $width, $height); imagejpeg($thumb, $newthumbname); // rename( $newthumbname, $xxx); imagedestroy($largeimage); imagedestroy($thumb); ///////// // obraz jest w poprawnym formacie, można kontynuować // wstawienie informacji w tabeli images $obrazek= $ImageThumb. $lastpicid . ".jpg"; $obrazekxl= $ImageDir. $lastpicid . ".jpg"; $insert = "UPDATE foto SET width='$szerokosc' , height='$wysokosc', obrazek='$obrazek' , obrazekxl='$obrazekxl' WHERE id='$lastpicid'"; window.location=\"index.php?strona=galeria&akcja=dodano_nowa&id=$lastpicid\"; </script>"; } } else { "png.<br>"; $lokalizacja= $ImageName; } } // gdy nie wskazano obrazka <script language=\"JavaScript\"> window.location=\"index.php?strona=ogloszenie&akcja=dodano_nowa&id=$lastid\"</script> //////////////////// break; ?>