hej

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)

  1. <?
  2. $rozmiar_max = 800000;
  3.  
  4. $obrazek = $_FILES["obrazek"]['tmp_name'];
  5. $plik_tmp = $_FILES['obrazek']['tmp_name']; 
  6. $plik_nazwa = $_FILES['obrazek']['name']; 
  7. $plik_rozmiar = $_FILES['obrazek']['size'];
  8.  
  9. //echo"<br/>Temp: "; echo $plik_tmp; 
  10. //echo"<br/>Nazwa: "; echo $plik_nazwa; 
  11. //echo"<br/>Rozmiar: "; echo $plik_rozmiar; 
  12. //echo"<br/><br/>";
  13.  
  14. if ($plik_rozmiar > $rozmiar_max){$komunikat = 1; }//Plik jest za duży
  15. if ($plik_rozmiar < 1){$komunikat = 2; }//Błędna ścieżka do pliku
  16. if ($plik_tmp == false){$komunikat = 3; }//Błąd pliku temp
  17.  
  18.  
  19. if(substr($plik_nazwa , -4, 4) == '.jpg'){$typ = ".jpeg";}
  20. elseif(substr($plik_nazwa , -4, 4) == '.JPG' ){$typ = ".jpeg";}
  21. elseif(substr($plik_nazwa , -5, 5) == '.jpeg'){$typ = ".jpeg";}
  22. elseif(substr($plik_nazwa , -5, 5) == '.JPEG'){$typ = ".jpeg";}
  23. elseif(substr($plik_nazwa , -4, 4) == '.gif'){$typ = ".gif";}
  24. elseif(substr($plik_nazwa , -4, 4) == '.GIF'){$typ = ".gif";}
  25. elseif(substr($plik_nazwa , -4, 4) == '.png'){$typ = ".png";}
  26. elseif(substr($plik_nazwa , -4, 4) == '.PNG'){$typ = ".png";}
  27. else{$komunikat = 4;}//To nie jest: jpg,jpeg,gif,png
  28.  
  29. $nazwa_fotki = $fotka_nazwa.$typ;
  30. $sciezka_duze = "../../image/temp/d/".$nazwa_fotki;
  31. $sciezka_srednie = "../../image/temp/s/".$nazwa_fotki;
  32. $sciezka_male = "../../image/temp/m/".$nazwa_fotki;
  33.  
  34.  
  35. if (is_uploaded_file($obrazek)) {
  36. copy($obrazek,$sciezka_duze);
  37. }else {
  38. $komunikat = 5;//Błąd kopiowania pliku
  39. }
  40.  
  41. //echo $komunikat;
  42.  
  43. if ($komunikat == false) 
  44. {
  45. function imgType($plik_nazwa )
  46. {
  47.  if(substr($plik_nazwa , -4, 4) == '.jpg'){return IMAGETYPE_JPEG;}
  48.  elseif(substr($plik_nazwa , -4, 4) == '.JPG' ){return IMAGETYPE_JPEG;}
  49.  elseif(substr($plik_nazwa , -5, 5) == '.jpeg'){return IMAGETYPE_JPEG;}
  50.  elseif(substr($plik_nazwa , -5, 5) == '.JPEG'){return IMAGETYPE_JPEG;}
  51. elseif(substr($plik_nazwa , -4, 4) == '.gif'){return IMAGETYPE_GIF;}
  52.  elseif(substr($plik_nazwa , -4, 4) == '.GIF'){return IMAGETYPE_GIF;}
  53.  elseif(substr($plik_nazwa , -4, 4) == '.png'){return IMAGETYPE_PNG;}
  54.  elseif(substr($plik_nazwa , -4, 4) == '.PNG'){return IMAGETYPE_PNG;}
  55. }
  56.  
  57. function resizeImage($source, $max_x, $max_y, $save_image, $jpeg_quality = 100)
  58. {
  59. if(imgType($source) == IMAGETYPE_JPEG)
  60. {
  61.  $img_src = imagecreatefromjpeg($source);
  62. }
  63. elseif(imgType($source) == IMAGETYPE_GIF)
  64. {
  65.  $img_src = imagecreatefromgif($source);
  66. }
  67. elseif(imgType($source) == IMAGETYPE_PNG)
  68. {
  69.  $img_src = imagecreatefrompng($source);
  70. }
  71. else
  72. {
  73.  die('To nie są pliki JPG/JPEG, GIF, PNG');
  74. }
  75.  
  76. $image_x = imagesx($img_src);
  77. $image_y = imagesy($img_src);
  78.  
  79. if($image_x > $image_y){
  80.  $ratio_x = ($image_x > $max_x) ? $max_x/$image_x : 1;
  81.  $ratio_y = $ratio_x;
  82.  $move = 'y';
  83. }
  84. else{
  85.  $ratio_y = ($image_y > $max_y) ? $max_y/$image_y : 1;
  86.  $ratio_x = $ratio_y;
  87.  $move = 'x';
  88. }
  89.  
  90. $new_x = $image_x*$ratio_x;
  91. $new_y = $image_y*$ratio_y;
  92.  
  93. $move_x = ($move == "x") ? ($new_x-$new_x)/: 0;
  94. $move_y = ($move == "y") ? ($new_y-$new_y)/: 0;
  95. $new_img = imagecreatetruecolor($new_x, $new_y);
  96. $background = imagecolorallocate($new_img, 122, 123, 122);
  97. imagefill($new_img, 0, 0, $background);
  98. imagecopyresampled($new_img, $img_src, $move_x, $move_y, 0, 0, $new_x, $new_y, $image_x, $image_y);
  99.  
  100. if(imgType($save_image) == IMAGETYPE_JPEG)
  101. {
  102.  imagejpeg($new_img, $save_image, 100);
  103. }
  104. elseif(imgType($save_image) == IMAGETYPE_GIF)
  105. {
  106.  imagegif($new_img, $save_image);
  107. }
  108. elseif(imgType($save_image) == IMAGETYPE_PNG)
  109. {
  110.  imagepng($new_img, $save_image);
  111. }
  112. // echo"<img src=\"".$save_image."\" border=\"1\">";
  113. }
  114. resizeImage($sciezka_duze, 700, 0, $sciezka_duze, 56); // dopasowuje do pierwszego parametru - szerokość - wysokość proporcjonalna
  115. resizeImage($sciezka_duze, 85, 0, $sciezka_male, 56); // dopasowuje do pierwszego parametru - szerokość - wysokość proporcjonalna
  116. resizeImage($sciezka_duze, 280, 0, $sciezka_srednie, 56); // dopasowuje do pierwszego parametru - szerokość - wysokość proporcjonalna
  117. }
  118. ?>