Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Niedziałająca biblioteka GD
Forum PHP.pl > Forum > Przedszkole
sytluk
Witam, mam następujący problem:
działałem wcześniej na WebServ i biblioteka GD działała bez problemu, przesiadłem się na XAMPP i już niestety obrazek nie jest generowany. Nie bardzo wiem jaki to może być problem, ponieważ phpinfo() pokazuje że GD jest włączone, a w pliku php.ini nie ma średnika przed linią: extension=php_gd2.dll. Kiedy wrzucę plik na zewnętrzny serwer to wszystko jest generowane jak się należy.
wookieb
No a kod generowania obrazka po którym sprawdzasz czy GD rzeczywiście działa?
sytluk
Cytat(wookieb @ 8.02.2011, 12:00:14 ) *
No a kod generowania obrazka po którym sprawdzasz czy GD rzeczywiście działa?


Wszystko działa, na WebServ działał, nic w nim nie zmieniałem, na zewnętrznym serwerze też działa, tylko na XAMPP nie chce co_jest.gif
wookieb
Ale my to już wiemy. Chcemy kod generowania twojego obrazka. I nie byłoby głupio gdybyś go zapisał i otworzył w notatniku a zobaczysz jakimi błędami Ci pluje.
sytluk
Oto kod generowania obrazka:
  1. <?
  2. $pool = '0123456789abcdefghijklmnopqrstuvwxyz';
  3. $img_width = 120;
  4. $img_height = 30;
  5.  
  6. $str = '';
  7. for ($i = 0; $i < 7; $i++)
  8. {
  9. $str .= substr($pool, mt_rand(0, strlen($pool) -1), 1);
  10. }
  11.  
  12. $string = $str;
  13. $_SESSION['captcha'] = $string;
  14.  
  15. $im = imagecreate($img_width, $img_height);
  16.  
  17. $bg_color = imagecolorallocate($im,100,100,100);
  18. $font_color = imagecolorallocate($im,252,252,252);
  19. $grid_color = imagecolorallocate($im,31,0,0);
  20. $border_color = imagecolorallocate ($im, 174, 174, 174);
  21.  
  22. imagefill($im,1,1,$bg_color);
  23.  
  24. for($i=0; $i<1600; $i++)
  25. {
  26. $rand1 = rand(0,$img_width);
  27. $rand2 = rand(0,$img_height);
  28. imageline($im, $rand1, $rand2, $rand1, $rand2, $grid_color);
  29. }
  30.  
  31. $x = rand(5, $img_width/(7/2));
  32.  
  33. imagerectangle($im, 0, 0, $img_width-1, $img_height-1, $border_color);
  34.  
  35. for($a=0; $a < 7; $a++)
  36. {
  37. imagestring($im, 5, $x, rand(6 , $img_height/5), substr($string, $a, 1), $font_color);
  38. $x += (5*2); #odstęp
  39. }
  40.  
  41. header("Content-type: image/gif");
  42. imagegif($im);
  43. imagedestroy($im);
  44.  
  45. ?>

wookieb
To jak otworzysz ten skrypt w przeglądarce, zapisz go na dysku i otwórz je w notatniku. Zobaczysz jakie błędy Ci wypluło. Dodatkowo włącz pełne raportowanie błędów.
Temat: Jak poprawnie zadac pytanie
sytluk
Po włączeniu pełnego raportowania błędów wypluło mi błąd:
  1. Fatal error: Call to undefined function imagecreate() in D:\Programy\XAMPP\xampp\htdocs\cms\captcha.php on line 16
PaFaT
Prawidłowa nazwa tej funkcji brzmi ImageCreateTrueColor($img_width, $img_height).
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.