Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Dynamiczne tworzenie miniatur.
Forum PHP.pl > Forum > Przedszkole
The Night Shadow
Poniżej znajduje się plik odpowiadający za zmniejszanie grafik w formacjie gif i jpg do odpowiedniego rozmiaru.

Na sewrerze nazwa.pl plik gifa zmienia poprawnie (ale gif jes nieruchomy), natomiast na serwerze strefa.pl ten sam plik graficzny z roszerzeniem gif i w tym samym pliku w ogóle nie jest wyświetlany. Czym to może być spowodowane, ewentualnie jak najlepiej zmniejszać zdjęcia w locie?

  1. <?php
  2. // File and new size
  3. $filename = $_GET['img_name'];
  4.  
  5. // Content type
  6. if ( ereg(".jpg", $filename) == False )
  7. {
  8. header('Content-type: image/gif');
  9. $gifek = 1;
  10. }
  11. else
  12. {
  13. header('Content-type: image/jpeg');
  14. $gifek = 0;
  15. }
  16.  
  17. list($width, $height) = getimagesize($filename);
  18.  
  19. if ( $width < 60 AND $height < 60 )
  20. {
  21. $newwidth = $width;
  22. $newheight = $height;
  23. }
  24. else
  25. {
  26. if ( $width < $height )
  27. {
  28. $newheight = 60;
  29. $newwidth = ceil($width*$newheight/$height);
  30. }
  31. else
  32. {
  33. $newwidth = 60;
  34. $newheight = ceil($newwidth/$width*$height);
  35. }
  36. }
  37.  
  38. if ( $gifek == 1 )
  39. {
  40. $source = imagecreatefromgif($filename);
  41. $thumb = imagecreatetruecolor($newwidth, $newheight);
  42. $black = imagecolorallocate($thumb, 255, 255, 255);
  43. imagefill($thumb , 0,, $black);
  44. imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
  45. imagegif($thumb);
  46. }
  47. else
  48. {
  49. $source = imagecreatefromjpeg($filename);
  50. $thumb = imagecreatetruecolor($newwidth, $newheight);
  51.  
  52. imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
  53. imagejpeg($thumb);
  54. }
  55.  
  56.  
  57.  
  58. ?>
Darti
O ile mi wiadomo to strefa.pl ma wyłączoną obsługę gif'ów przez GD. Poza tym tworzenie miniatur animacji jest trochę bardziej skomplikowane niż zwykłych, statycznych obrazków. Poczytaj komentarze w manualu do funkcji imagegif.
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.