Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] CI biblioteka GD nie działa.
Forum PHP.pl > Forum > Przedszkole
zmora_jlb
Witam, posiadam kod w CI do zmiany rozmiarów obrazków w 'locie'

  1. <?php if (!defined('BASEPATH')) exit('No direct script access allowed');
  2. class _images extends CI_Controller {
  3.  
  4. public function index()
  5. {
  6. }
  7.  
  8. public function resize_news()
  9. {
  10. $query = mysql_query("SELECT * FROM s_news WHERE id='".$this->uri->segment(4)."'");
  11.  
  12. if(mysql_num_rows($query) > 0){
  13. $row = mysql_fetch_array($query);
  14. $plik = $row['avatar'];
  15.  
  16. header('Content-Type: image/png'); //wysyłamy nagłówek
  17.  
  18. if($this->uri->segment(3) == 'large'){ $szerokosc = 240; $wysokosc = 180;}
  19. if($this->uri->segment(3) == 'medium'){ $szerokosc = 120; $wysokosc = 90;}
  20. if($this->uri->segment(3) == 'small'){ $szerokosc = 60; $wysokosc = 45; }
  21.  
  22.  
  23. $i = explode('.', $plik);
  24.  
  25. // rozszerzeniem pliku jest ostatni element tablicy $i
  26. $rozszerzenie = end($i);
  27.  
  28. // jeśli nie mamy jpega, gifa lub png zwracamy false.
  29. if($rozszerzenie !== 'jpg' &&
  30. $rozszerzenie !== 'gif' &&
  31. $rozszerzenie !== 'png') {
  32. return false;
  33. }
  34.  
  35. // pobieramy rozmiary obrazka
  36. list($img_szer, $img_wys) = getimagesize($plik);
  37.  
  38. // obliczamy proporcje boków
  39. $proporcje = $img_wys / $img_szer;
  40.  
  41. // na tej podstawie obliczamy wysokość
  42. $wysokosc = $szerokosc * $proporcje;
  43.  
  44. // tworzymy nowy obrazek o zadanym rozmiarze
  45. // korzystamy tu z funkcji biblioteki GD
  46. // która musi być dołączona do twojej instalacji PHP,
  47. // najpierw tworzymy canvas.
  48. $canvas = imagecreatetruecolor($szerokosc, $wysokosc);
  49. switch($rozszerzenie) {
  50. case 'jpg':
  51. $org = imagecreatefromjpeg($plik);
  52. break;
  53. case 'gif':
  54. $org = imagecreatefromgif($plik);
  55. break;
  56. case 'png':
  57. $org = imagecreatefrompng($plik);
  58. break;
  59. }
  60.  
  61. // kopiujemy obraz na nowy canvas
  62. imagecopyresampled($canvas, $org, 0, 0, 0, 0, $szerokosc, $wysokosc, $img_szer, $img_wys);
  63. imagejpeg($canvas, 95);
  64. } else {
  65. echo 'obrazek nie istnieje';
  66. }
  67. }
  68.  
  69. }
  70. ?>


nie wiem dlaczego, tek kod nie działa (nawet przykłady z php.net).
jakieś wskazówki ?
rad11
A co rozumiesz przez "nie działa"?
zmora_jlb
to, że wyświetlany jest błąd obrazka.

ps. serwer obsługuje GD2.
rad11
A czemu nie skorzystasz z klasy manipulacją plikami graficzymi ? Tylko jakies dziwne rzeczy tu wykonujesz smile.gif
zmora_jlb
Poradziłem sobie właśnie smile.gif
dzięki smile.gif
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.