Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [gd]kolejny problem, błąd przy wyborze czcionki
Lejto
post 23.04.2008, 11:26:56
Post #1





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

Ostrzeżenie: (0%)
-----


Miałem przeniesienie z serwera na 2 serwer i mam problem z rysowaniem wykresu w GD. Na poprzednim serwerze wszystko działało. Teraz jak odpalam wykres to taki błąd pokazuje:
Cytat
Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename in /home/glosowanie.php on line 101

Czego on dotyczy wszyscy wiemy. Ścieżki mam poprawne
  1. <?php
  2. putenv('GDFONTPATH=fonts/');
  3. $czcionka = 'arial';
  4. ?>

Czy może serwer ma własny katalog z fontami?


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
ayeo
post 23.04.2008, 11:33:17
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


Wystarczy, żę wrzucisz plik z fontami do tego samego katalogu co skrypt. Jednak spróbuj napisać 'arial.ttf' zamiast 'arial'
Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post
Lejto
post 23.04.2008, 11:49:04
Post #3





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

Ostrzeżenie: (0%)
-----


jak robie z rozszerzeniem .ttf to pokazuje błąd
Cytat
Warning: imagettfbbox() [function.imagettfbbox]: Could not find/open font in /home/virtualki/40815/glosowanie.php on line 128

robie tak
  1. <?php
  2. putenv('GDFONTPATH=/');
  3. ?>

font i skrypt mam w głównym katalogu i tez nie działa


--------------------
Go to the top of the page
+Quote Post
ayeo
post 23.04.2008, 11:50:02
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


Skopiuj jeszcze plik arial.ttf do katalogu ze skryptem winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
Lejto
post 23.04.2008, 11:57:29
Post #5





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

Ostrzeżenie: (0%)
-----


no kopiowałem już wczesniej


--------------------
Go to the top of the page
+Quote Post
ayeo
post 23.04.2008, 12:02:39
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


a to putenv('GDFONTPATH=fonts/'); usunąłeś?


--------------------
Go to the top of the page
+Quote Post
Lejto
post 23.04.2008, 12:04:59
Post #7





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

Ostrzeżenie: (0%)
-----


tak, zrobiłem
  1. <?php
  2. putenv('GDFONTPATH=/');
  3. ?>


--------------------
Go to the top of the page
+Quote Post
ayeo
post 23.04.2008, 12:08:20
Post #8





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


Pokaż cały kod


--------------------
Go to the top of the page
+Quote Post
Lejto
post 23.04.2008, 12:12:44
Post #9





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

Ostrzeżenie: (0%)
-----


  1. <?php
  2. /* (c) Lukasz Ogan, 2008 : All Rights Reserved */ 
  3.  
  4.  $glosow=$_POST['glosow'];
  5.  
  6. $sql = "select * from nauczyciel";
  7. $query = mysql_query($sql); 
  8.  
  9. $glosow=addslashes($glosow);
  10. $zapytanie="update nauczyciel
  11. set glosow = glosow + 1
  12. where blefer = '$glosow'";
  13. mysql_query($zapytanie) or die ("nie moge wykonać zapytania");
  14.  
  15.  
  16.  
  17. // pobranie aktualnych wynikw anikiety,niezaleznie od faktu glosania
  18.  
  19. $zapytanie = 'select * from nauczyciel';
  20. $wynik = mysql_query($zapytanie) or die ("Blad");
  21.  
  22. $blefer = mysql_num_rows($wynik) or die("Blad w lini 31");
  23.  
  24. //obliczanie calkowitej ilosci glosw
  25. $ilosc_glosow = 0;
  26.  
  27. while ($rzad = mysql_fetch_object($wynik))
  28. {
  29.  
  30. $ilosc_glosow += $rzad->glosow;
  31. }
  32.  
  33. mysql_data_seek($wynik, 0); // wyzerowanie wskaznika wyniku
  34.  
  35. /*****************************
  36. Poczatkowe obliczanie wykresu
  37. *****************************/
  38.  
  39. //ustawienia stalych
  40.  
  41. putenv('GDFONTPATH=/');
  42. $szerokosc = 500; //szerokosc obrazka w pikselach - ta zmiesci sie w przdzielczkosci
  43. $lewy_margines = 50; //miejsce pozostawione po lewej stronie obrazka
  44. $prawy_margines = 50; // to stamo dla prawej
  45. $wysokosc_slupka = 30;
  46. $odleglosc_slupkow = $wysokosc_slupka/2;
  47. $czcionka = 'arial';
  48. $rozmiar_tytulu = 16; //w stopniach
  49. $rozmiar_podstawowy = 11; //w stopniach
  50. $rozmiar_maly = 12; //w stopniach
  51. $wciecie_tekstu = 10; //odleglosc lewych etykiet tekstowych od lewej krawedzi obrazka
  52.  
  53.  
  54. //ustawienie poczatkowego punktu rysowania
  55. $x = $lewy_margines+70; //miejsce rysowania bazy wykresu
  56. $y = 50; //to samo
  57. $jednostka_slupka = ($szerokosc-($x+$prawy_margines))/100; //jeden "stopien" wykresu
  58.  
  59. //obliczanie wysokosci wykresu - slupki plus przerwy plus pewien margines
  60. $wysokosc = $blefer*($wysokosc_slupka+$odleglosc_slupkow)+50;
  61.  
  62.  
  63. /****************************************
  64. Konfiguracja podstawowego obrazka
  65. ****************************************/
  66.  
  67. //stworzenie pustgo kadru
  68.  
  69. $ob=imagecreateTrueColor($szerokosc, $wysokosc);
  70.  
  71. // Przydzielenie kolorw
  72. $bialy=ImageColorAllocate($ob,255,255,255);
  73. $niebieski=ImageColorAllocate($ob,0,64,128);
  74. $czarny=ImageColorAllocate($ob,0,0,0);
  75. $rozowy=ImageColorAllocate($ob,255,78,243);
  76.  
  77. $kolor_tekstu=$czarny;
  78. $kolor_procentow=$czarny;
  79. $kolor_tla=$bialy;
  80. $kolor_linii=$czarny;
  81. $kolor_slupka=$niebieski;
  82. $kolor_liczb=$rozowy;
  83.  
  84. //stworzenie "kadru" do rysowania
  85.  
  86. ImageFilledRectangle($ob,0,0,$szerokosc-1,$wysokosc-1,$kolor_tla);
  87.  
  88. //narysowanie kontuwrw wokl kadru
  89. ImageRectangle($ob,0,0,$szerokosc-1,$wysokosc-1,$kolor_linii);
  90.  
  91. //dodanie tytulu
  92.  
  93. $tytul = 'Wyniki głosowania';
  94. $wymiary_tytulu = imagettfbbox($rozmiar_tytulu, 0, $czcionka, $tytul);
  95. $dlugosc_tytulu = $wymiary_tytulu[2]-$wymiary_tytulu[0];
  96. $wysokosc_tytulu = abs($wymiary_tytulu[7]-$wymiary_tytulu[1]);
  97. $tytul_nad_linia = abs($wymiary_tytulu[7]);
  98. $tytul_x = ($szerokosc-$dlugosc_tytulu)/2; //wysrodkowanie w x 
  99. $tytul_y = ($y-$wysokosc_tytulu)/2+$tytul_nad_linia; //wysrodkowanie w y
  100. ImageTTFText($ob, $rozmiar_tytulu, 0, $tytul_x, $tytul_y, $kolor_tekstu, $czcionka, $tytul);
  101.  
  102. // narysowanie bazy od nieco ponad pozycja pierwszego slupka do nieco ponizej pozy
    cji ostatniego
  103.  
  104. ImageLine($ob, $x, $y-5, $x, $wysokosc-15, $kolor_linii);
  105.  
  106. /*******************************
  107. Umieszczanie danych na wykresrie
  108. ********************************/ 
  109.  
  110. // pobranie kazdej lini bazy danych i naryowanie odpowiednich slupkw
  111.  
  112. while ($rzad = mysql_fetch_object($wynik))
  113. {
  114. if($ilosc_glosow > 0)
  115.  $procent = intval(round(($rzad->glosow/$ilosc_glosow)*100));
  116. else
  117.  $procent = 0;
  118.  
  119. // wyswietlanie procentw dla tej wartosci
  120. $wymiary_procentow = imagettfbbox($rozmiar_podstawowy, 0, $czcionka, $procent. '%');
  121. $dlugosc_procentow = $wymiary_procentow[2]-$wymiary_procentow[0];
  122. imagettftext($ob, $rozmiar_podstawowy, 0, $szerokosc-$dlugosc_procentow-$wciecie_tekstu, $y+($wysokosc_slupka/2), $kolor_procentow, $czcionka, $procent. '%');
  123.  
  124. //dlugosc slupka dla tej wartosci
  125. $dlugosc_slupka = $x+($procent*$jednostka_slupka);
  126. //narysowanie slupka dla tej wartosci
  127. ImageFilledRectangle($ob, $x, $y-2, $dlugosc_slupka, $y+$wysokosc_slupka, $kolor_slupka);
  128. //narysowanie tytulu dla tej wartosci
  129. ImageTTFText($ob, $rozmiar_podstawowy, 0, $wciecie_tekstu, $y+($wysokosc_slupka/2), $kolor_tekstu, $czcionka, "$rzad->blefer");
  130. //narysowanie konturu pokazujacego 100%
  131. ImageRectangle($ob, $dlugosc_slupka+1, $y-2, ($x+(100*$jednostka_slupka)), $y+$wysokosc_slupka, $kolor_linii);
  132. //wyswietlanie liczb
  133. ImageTTFText($ob, $rozmiar_maly, 0, $x+(100*$jednostka_slupka)-50, $y+($wysokosc_slupka/2), $kolor_liczb, $czcionka, $rzad->glosow. '/'.$ilosc_glosow);
  134. // przesuniecie nastepnego slupka
  135. $y = $y+($wysokosc_slupka+$odleglosc_slupkow);
  136. }
  137. /******************************************
  138. Wyswitlanie obrazka!
  139. ******************************************/
  140. Header('Content-type: image/png');
  141. ImagePNG($ob);
  142. /******************************************
  143. Zwalnianie zasobw
  144. ******************************************/
  145. imagedestroy($ob);
  146.  
  147.  
  148.  
  149. ?>


--------------------
Go to the top of the page
+Quote Post
ayeo
post 23.04.2008, 12:35:01
Post #10





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


U mnie jak zmienię na arial.ttf i dodam plik do katalogu to działa!


Mogę dać nawet screenshota winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
Lejto
post 23.04.2008, 12:36:47
Post #11





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

Ostrzeżenie: (0%)
-----


a u mnie nie działa pokazuje taki błąd jak wstawię rozszerzenie:
Cytat
Warning: imagettfbbox() [function.imagettfbbox]: Could not find/open font in /home/virtualki/40815/glosowanie.php on line 100


Cytat
dodam plik do katalogu to działa!

chodzi ci o font na serwerze w głównym katalogu?


--------------------
Go to the top of the page
+Quote Post
ayeo
post 23.04.2008, 12:39:30
Post #12





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


Do katalogu, w którym masz ten skrypt...


--------------------
Go to the top of the page
+Quote Post
Lejto
post 23.04.2008, 12:48:22
Post #13





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

Ostrzeżenie: (0%)
-----


no tak robie i nie działa
edit: napisałem do admina, admin ustawił font i jest ok

Ten post edytował Lejto 24.04.2008, 11:05:53


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 15:07