Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]nie wyświetla obrazów generowanych przez gd
Forum PHP.pl > Forum > Przedszkole
lexter
Witajcie, mój skrypt na 'captcha' ale nie generuje obrazków
Komunikat - Obrazek "http://localhost/captcha.php" nie może zostać wyświetlony, ponieważ zawiera błędy.
Moja wersja php 5.3

DG_VERSION 2.0.35

konfiguracja:

array(12) {
["GD Version"]=>
string(27) "bundled (2.0.34 compatible)"
["FreeType Support"]=>
bool(true)
["FreeType Linkage"]=>
string(13) "with freetype"
["T1Lib Support"]=>
bool(true)
["GIF Read Support"]=>
bool(true)
["GIF Create Support"]=>
bool(true)
["JPEG Support"]=>
bool(true)
["PNG Support"]=>
bool(true)
["WBMP Support"]=>
bool(true)
["XPM Support"]=>
bool(false)
["XBM Support"]=>
bool(true)
["JIS-mapped Japanese Font Support"]=>
bool(true)
}
Kod php
  1.  
  2. // Ustawianie ważnych stałych na potrzeby testu CAPTCHA.
  3. define('CAPTCHA_NUMCHARS', 6); // Liczba znaków w haśle.
  4. define('CAPTCHA_WIDTH', 100); // Szerokość rysunku.
  5. define('CAPTCHA_HEIGHT', 25); // Wysokość rysunku.
  6.  
  7. // Generowanie losowego hasła.
  8. $pass_phrase = "";
  9. for ($i = 0; $i < CAPTCHA_NUMCHARS; $i++) {
  10. $pass_phrase .= chr(rand(97, 122));
  11. }
  12.  
  13. // Zapisywanie zaszyfrowanego hasła w zmiennej sesji.
  14. $_SESSION['pass_phrase'] = SHA1($pass_phrase);
  15.  
  16. // Tworzenie rysunku.
  17. $img = imagecreatetruecolor(CAPTCHA_WIDTH, CAPTCHA_HEIGHT);
  18.  
  19. // Ustawianie białego tła z czarnym tekstem i szarymi elementami graficznymi.
  20. $bg_color = imagecolorallocate($img, 255, 255, 255); // Biały.
  21. $text_color = imagecolorallocate($img, 0, 0, 0); // Czarny.
  22. $graphic_color = imagecolorallocate($img, 64, 64, 64); // Ciemnoszary.
  23.  
  24. // Wypełnianie tła.
  25. imagefilledrectangle($img, 0, 0, CAPTCHA_WIDTH, CAPTCHA_HEIGHT, $bg_color);
  26.  
  27. // Rysowanie losowo rozmieszczonych linii.
  28. for ($i = 0; $i < 5; $i++) {
  29. imageline($img, 0, rand() % CAPTCHA_HEIGHT, CAPTCHA_WIDTH, rand() % CAPTCHA_HEIGHT, $graphic_color);
  30. }
  31.  
  32. // Dodawanie losowo rozmieszczonych kropek.
  33. for ($i = 0; $i < 50; $i++) {
  34. imagesetpixel($img, rand() % CAPTCHA_WIDTH, rand() % CAPTCHA_HEIGHT, $graphic_color);
  35. }
  36.  
  37. // Wyświetlanie tekstu hasła.
  38. imagettftext($img, 18, 0, 5, CAPTCHA_HEIGHT - 5, $text_color, 'Courier New Bold.ttf', $pass_phrase);
  39.  
  40. // Przesyłanie rysunku jako pliku PNG za pomocą nagłówka.
  41. header("Content-type: image/png");
  42. imagecreatefrompng();
  43. imagepng($img);
  44.  
  45. // Operacje porządkujące.
  46. imagedestroy($img);


Dlaczego nie pojawia się obraz utworzony przez funkcję php?
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.