dla niektórych fotek wywala taki błąd:
Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in C:\WebServ\httpd-users\Ogloszenia v.111\uzytkownik\osobowe\resize.php on line 95
te zrobione moim aparatem zmniejsza oki a niektóre pobrane z internetu wywalają powyższy błąd
taki mam kod do zmniejszania fotek (oczywiście to część odpowiadająca za zmniejszenie fotek)
<? $rozmiar_max = 800000; $obrazek = $_FILES["obrazek"]['tmp_name']; $plik_tmp = $_FILES['obrazek']['tmp_name']; $plik_nazwa = $_FILES['obrazek']['name']; $plik_rozmiar = $_FILES['obrazek']['size']; //echo"<br/>Temp: "; echo $plik_tmp; //echo"<br/>Nazwa: "; echo $plik_nazwa; //echo"<br/>Rozmiar: "; echo $plik_rozmiar; //echo"<br/><br/>"; if ($plik_rozmiar > $rozmiar_max){$komunikat = 1; }//Plik jest za duży if ($plik_rozmiar < 1){$komunikat = 2; }//Błędna ścieżka do pliku if ($plik_tmp == false){$komunikat = 3; }//Błąd pliku temp else{$komunikat = 4;}//To nie jest: jpg,jpeg,gif,png $nazwa_fotki = $fotka_nazwa.$typ; $sciezka_duze = "../../image/temp/d/".$nazwa_fotki; $sciezka_srednie = "../../image/temp/s/".$nazwa_fotki; $sciezka_male = "../../image/temp/m/".$nazwa_fotki; }else { $komunikat = 5;//Błąd kopiowania pliku } //echo $komunikat; if ($komunikat == false) { function imgType($plik_nazwa ) { } function resizeImage($source, $max_x, $max_y, $save_image, $jpeg_quality = 100) { if(imgType($source) == IMAGETYPE_JPEG) { $img_src = imagecreatefromjpeg($source); } elseif(imgType($source) == IMAGETYPE_GIF) { $img_src = imagecreatefromgif($source); } elseif(imgType($source) == IMAGETYPE_PNG) { $img_src = imagecreatefrompng($source); } else { } $image_x = imagesx($img_src); $image_y = imagesy($img_src); if($image_x > $image_y){ $ratio_x = ($image_x > $max_x) ? $max_x/$image_x : 1; $ratio_y = $ratio_x; $move = 'y'; } else{ $ratio_y = ($image_y > $max_y) ? $max_y/$image_y : 1; $ratio_x = $ratio_y; $move = 'x'; } $new_x = $image_x*$ratio_x; $new_y = $image_y*$ratio_y; $move_x = ($move == "x") ? ($new_x-$new_x)/2 : 0; $move_y = ($move == "y") ? ($new_y-$new_y)/2 : 0; $new_img = imagecreatetruecolor($new_x, $new_y); $background = imagecolorallocate($new_img, 122, 123, 122); imagefill($new_img, 0, 0, $background); imagecopyresampled($new_img, $img_src, $move_x, $move_y, 0, 0, $new_x, $new_y, $image_x, $image_y); if(imgType($save_image) == IMAGETYPE_JPEG) { imagejpeg($new_img, $save_image, 100); } elseif(imgType($save_image) == IMAGETYPE_GIF) { imagegif($new_img, $save_image); } elseif(imgType($save_image) == IMAGETYPE_PNG) { imagepng($new_img, $save_image); } // echo"<img src=\"".$save_image."\" border=\"1\">"; } resizeImage($sciezka_duze, 700, 0, $sciezka_duze, 56); // dopasowuje do pierwszego parametru - szerokość - wysokość proporcjonalna resizeImage($sciezka_duze, 85, 0, $sciezka_male, 56); // dopasowuje do pierwszego parametru - szerokość - wysokość proporcjonalna resizeImage($sciezka_duze, 280, 0, $sciezka_srednie, 56); // dopasowuje do pierwszego parametru - szerokość - wysokość proporcjonalna } ?>