Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Biblioteka GD - problem z tworzeniem tekstu
Forum PHP.pl > Forum > PHP
EastWest
Hej, mam problem z utworzeniem grafiki z tekstem. Na localhoscie wszystko pięknie działało, jak wrzuciłem na hosting tekst się nie wyświetla.

Kodzik:
  1. <?php
  2. ini_set('DISPLAY_ERRORS', true);
  3. include '../inc/mysql.php';
  4. header("Content-type: image/png");
  5. if(isset($_GET['nick']) && $_GET['nick'] != "") {
  6. $nick = $_GET['nick'];
  7. $uuid = getUUID($nick);
  8. $q = mysql_query("SELECT * FROM players WHERE uuid='".$uuid."' LIMIT 1");
  9. if(mysql_num_rows($q)>0) {
  10. $dname = getPlayer($uuid);
  11. $text['player'] = (haveGuild($uuid)) ? getGuild($uuid)." ".$dname : $dname;
  12. $text['kills'] = "Zabicia Ť".$r['kills']."ť";
  13. $text['deaths'] = "Zgony Ť".$r['deaths']."ť";
  14. $text['elo'] = $r['hcrank']." ELO";
  15. $image = imagecreatefrompng("background.png");
  16. $avatar = imagecreatefrompng("https://minotar.net/helm/".$dname."/64.png");
  17. $font = "font.ttf";
  18. $color = ImageColorAllocate($image, 255, 255, 255);
  19. imagettftext($image, 14, 0, 79, 31, $color, $font, $text['player']);
  20. imagettftext($image, 11, 0, 79, 50, $color, $font, $text['kills']);
  21. imagettftext($image, 11, 0, 283 , 50, $color, $font, $text['deaths']);
  22. imagettftext($image, 14, 0, 353 , 31, $color, $font, $text['elo']);
  23. imagecopy($image, $avatar, 6, 16, 0, 0, imagesx($avatar), imagesy($avatar));
  24. $kills = mysql_query("SELECT * FROM `hardcore` WHERE `desc`='".$dname."' ORDER BY `ban_end_time` DESC LIMIT 5");
  25. if(mysql_num_rows($kills)>0) {
  26. $a = 79;
  27. while($r = mysql_fetch_assoc($kills)) {
  28. $kill = getPlayer($r['player']);
  29. $head = imagecreatefrompng("https://minotar.net/helm/".$kill."/24.png");
  30. imagecopy($image, $head, $a, 56, 0, 0, imagesx($head), imagesy($head));
  31. $a += 34;
  32. }
  33. }
  34. $deaths = mysql_query("SELECT * FROM `hardcore` WHERE `player`='".$uuid."' ORDER BY `ban_end_time` DESC");
  35. if(mysql_num_rows($deaths)>0) {
  36. $a = 283;
  37. while($r = mysql_fetch_assoc($deaths)) {
  38. if(translateCause($r['desc']) == "błąd") {
  39. $head = imagecreatefrompng("https://minotar.net/helm/".getRealName($r['desc'])."/24.png");
  40. imagecopy($image, $head, $a, 56, 0, 0, imagesx($head), imagesy($head));
  41. }
  42. else {
  43. $h = imagecreatefrompng("../static/images/causes/".$r['desc'].".png");
  44. $head = imagecopyresized($image, $h, $a, 56, 0, 0, 24, 24, imagesx($h), imagesy($h));
  45. }
  46. $a += 34;
  47. }
  48. }
  49. imagepng($image);
  50. imagedestroy($image);
  51. }
  52. }
  53.  


Gdzie widnieje błąd? :/
Kshyhoo
Temat przerabiany X razy. Zakomentuj linię:
  1. header("Content-type: image/png");

Podejrzewam, że nie ma czcionek...
EastWest
Nie ustawialem headera, bledow nie zwracalo. Czcionka istnieje
Kshyhoo
Przecież w 4 linii masz header, masz go zakomentować, żeby zobaczyć, co skopane w kodzie. Po za tym, masz włączone wyświetlanie wszystkich błędów?
EastWest
Zakomentowalem go i tak jak wczesniej pisalem - zwraca ciag znaków, ale nie bledy. Tak mam wlaczone wszystkie bledy
trueblue
Zapisz png do pliku, ściągnij na dysk i spróbuj otworzyć na czymkolwiek.
EastWest
@up - no i w czym ma mi to pomóc w rozwiązaniu problemu?
Kshyhoo
Zrobiłeś czynności, które napisaliśmy? Sprawdź, czy serwer obsługuje GD a jeżeli tak, czy wszystkie funkcje.
session
1. Zrób sobie plik php:
  1. <?php
  2. var_dump(gd_info());
  3. ?>

Wrzuć na serwer i uruchom, żeby sprawdzić czy działa Ci GD.
Cytat
no i w czym ma mi to pomóc w rozwiązaniu problemu?

Wszystko to jest po to, żeby skrypt sam wyświetlił Ci informację, gdzie jest błąd, ponieważ gdyby go nie było, też nie byłoby tego tematu.
2. Jeśli dokładnie taki sam kod działa Ci na localhost, to sprawdź jeszcze swoje połączenia z bazą danych, czy na pewno jest taka sama jak na localhost i czy nie masz błędów.

Skoro jak powiedziałeś dokładnie ten kod działał, to znaczy że w samej składni, którą udostępniłeś nie masz błędów, więc nikt z tego nie wywnioskuje gdzie jest problem.
EastWest
  1. array(12) {
  2. ["GD Version"]=>
  3. string(3) "2.0"
  4. ["FreeType Support"]=>
  5. bool(true)
  6. ["FreeType Linkage"]=>
  7. string(13) "with freetype"
  8. ["T1Lib Support"]=>
  9. bool(false)
  10. ["GIF Read Support"]=>
  11. bool(true)
  12. ["GIF Create Support"]=>
  13. bool(true)
  14. ["JPEG Support"]=>
  15. bool(true)
  16. ["PNG Support"]=>
  17. bool(true)
  18. ["WBMP Support"]=>
  19. bool(true)
  20. ["XPM Support"]=>
  21. bool(false)
  22. ["XBM Support"]=>
  23. bool(false)
  24. ["JIS-mapped Japanese Font Support"]=>
  25. bool(false)
  26. }
- takie kuku otrzymałem, niby powinno działać c:
trueblue
Cytat(EastWest @ 28.04.2014, 16:34:12 ) *
@up - no i w czym ma mi to pomóc w rozwiązaniu problemu?

Po to, aby zobaczyć czy przy użyciu jakiejś systemowej przeglądarki da się otworzyć pliki; czy struktura jest poprawna.

Sprawdź w ustawieniach php czy masz włączone allow_url_fopen.
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.