Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]miniatura zdjęcia
Forum PHP.pl > Forum > PHP
mbb
wyskakuje mi błąd:

Warning: imagedestroy() expects parameter 1 to be resource, integer given in... on line 55

dodatkowo nie zawsze dodaje mi obrazek z rozszerzeniem .jpg
a tu kod:
  1. <?php
  2. if(isset($_POST['submit']))
  3. {
  4. $allowed = array ('image/pjpeg', 'image/JPEG', 'image/JPG', 'image/jpeg', 'image/jpg', 'image/X-PNG', 'image/PNG', 'image/png', 'image/x-png', 'image/gif');
  5. if(in_array($_FILES['userfile']['type'],$allowed))
  6. {
  7. $url='../rsah/upload/';
  8. $turl='../rsah/thumb/';
  9. $tmpName=$_FILES['userfile']['tmp_name'];
  10. $name=$_FILES['userfile']['name'];
  11. //do miniaturek
  12. static $maxWidth=150;
  13. static $maxHeight=150;
  14.  
  15. list($sHeight,$sWidth,$sType)=getimagesize($tmpName);
  16.  
  17. switch($sType)
  18. {
  19. case IMAGETYPE_GIF:
  20. $gType=imagecreatefromgif($tmpName);
  21. break;
  22. case IMAGETYPE_PNG:
  23. $gType=imagecreatefrompng($tmpName);
  24. break;
  25. case IMAGETYPE_JPEG:
  26. $gType=imagecreatefromjpeg($tmpName);
  27. break;
  28. default:
  29. echo 'co tam?';
  30. }
  31.  
  32. $sourceRatio=$sWidth/$sHeight;
  33. $thumbnailRatio=$maxWidth/$maxHeight;
  34.  
  35. if($sWidth<=$maxWidth && $sHeight<=$maxHeight)
  36. {
  37. $tWidth=$sWidth;
  38. $tHeight=$sHeight;
  39. }
  40. else if ($thumbnailRatio>$sourceRatio)
  41. {
  42. $tWidth= (int) ($maxHeight * $sourceRatio);
  43. $tHeight= $maxHeight;
  44. }
  45. else
  46. {
  47. $tWidth= $maxWidth;
  48. $tHeight= (int) ($maxWidth/$sourceRatio);
  49. }
  50.  
  51. $thumbnailImage=imagecreatetruecolor($tWidth,$tHeight);
  52. imagecopyresampled($thumbnailImage,$gType,0,0,0,0,$tWidth,$tHeight,$sWidth,$sHeight);
  53. imagejpeg($thumbnailImage,$turl.$name,90);
  54. imagedestroy($sType);
  55. imagedestroy($thumbnailImage);
  56.  
  57. move_uploaded_file($tmpName,$url.$name);
  58.  
  59. echo 'Wrzucono';
  60. }
  61. else
  62. {
  63. echo 'Bledny typ';
  64. }
  65. }
  66. else
  67. {
  68. echo 'wrzuc cos';
  69. }
  70. ?>
Kshyhoo
Obrabiasz $gType a chcesz zwolnić imagedestroy($sType);
mbb
ok teraz nie wyskakuje błąd, ale jak chce wrzucić jakiś png, jpg to czasem mi wrzuca innym razem nie, o co chodzi?
Kshyhoo
Z GD tak bywa. Może ustawienia serwera, może rozmiar pliku. Trzeba szukać. Za mało danych...
mbb
jest coś mniej awaryjnego niż gd?
nospor
To wcale nie musi byc wina GD.... na wrzucanie obrazkow masz nalozony warunek, wiec poprostu moze on nie byc spelniony. Banalne, prawda?

Wystarczy, ze dla obrazkow dla ktorych ci nie wrzuca, sprawdzisz co zawierają kluczowe zmienne a znajdziesz rozwiazanie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.