Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Użycie imagettftext jako obrazek - Jak zrobić aby link był z roz. png ?
Forum PHP.pl > Forum > Przedszkole
Klycior
Cześć,

Z góry przepraszam za nazwę tematu lecz starałem się jak najbardziej zrozumiale to napisać.
Problem mam taki że napisałem pewny skrypt, który wyświetla mi taki mały status konta na obrazku.
Chciałbym teraz użyć go w podpisie na forum lecz mam problem że w znaczniku [ I M G ] musi być link zakończony na rozszerzenie graficzne typu: jpg, png, gif, bmp itd.

Jednak mój link wygląda tak: podpis.php?id=2 i to nie zadziała. Czy jest jakaś możliwość aby doprowadzić ten skrypt do takiego stanu aby właśnie to zadziałało ?

Niżej zamieszczę skrypt i przy okazji takie pytanko. Ponieważ pracowałem na przykładzie w necie to wydaje mi się że ten skrypt jest dziurawy. Wystarczy wpisać zamiast ID co się chce i można zrobić wszystko, ale nie jestem pewien.


  1. <?php
  2.  
  3. include 'vars.php';
  4.  
  5. $sql_conn = mysql_connect($server, $username, $password);
  6. mysql_select_db($database);
  7.  
  8. mysql_query("SET NAMES utf8");
  9.  
  10. //Login, Lvl , Ranking , Samochód, team
  11.  
  12. $query="SELECT * FROM members WHERE member_id=".$_REQUEST['id'];
  13. $result=mysql_query($query);
  14.  
  15. $num=mysql_numrows($result);
  16.  
  17. $wiersz = mysql_fetch_assoc($result);
  18.  
  19.  
  20. $query2="SELECT * FROM pfields_content WHERE member_id=".$_REQUEST['id'];
  21. $result2=mysql_query($query2);
  22.  
  23. $num2=mysql_numrows($result2);
  24.  
  25. $wiersz2 = mysql_fetch_assoc($result2);
  26.  
  27.  
  28.  
  29. $handle = imagecreatefrompng("podpis.png");
  30.  
  31.  
  32. $text_color = imagecolorallocate($handle, 255,255,255);
  33. $text_color2 = imagecolorallocate($handle, 255,0,0);
  34.  
  35. // Replace path by your own font path
  36. $font = 'arial.ttf';
  37.  
  38. // Add some shadow to the text
  39.  
  40. if($wiersz['member_group_id'] === '7'){
  41. $new = "Moderator";}
  42. if($wiersz['member_group_id'] === '4'){
  43. $new = "Administrator";}
  44. if($wiersz['member_group_id'] === '3'){
  45. $new = "Użytkownik";}
  46.  
  47.  
  48.  
  49. if ($num==0)
  50.  
  51. imagettftext($handle, 9, 0, 65, 35, $text_color, $font, "brak usera");
  52. imagettftext($handle, 9, 0, 60, 35, $text_color, $font, $wiersz['name']);
  53. imagettftext($handle, 9, 0, 67, 58, $text_color, $font, $wiersz['posts']);
  54. imagettftext($handle, 9, 0, 73, 80, $text_color, $font, $wiersz2['field_12']);
  55. imagettftext($handle, 9, 0, 67, 102, $text_color, $font, $new);
  56.  
  57. $nazwa = $wiersz['nazwa'];
  58. $poz = strpos($nazwa, "red");
  59.  
  60. if ($poz == false)
  61. {
  62. imagettftext($handle, 10, 0, 40, 85, $text_color, $font,$nazwa );
  63. } else
  64. {
  65. //<font color=red>Gogolino</font>
  66. $nazwa = substr($nazwa, 16);
  67. $poz = strpos($nazwa, "<");
  68. $nazwa = substr($nazwa, 0, $poz);
  69. imagettftext($handle, 10, 0, 40, 85, $text_color2, $font, $nazwa );
  70. }
  71.  
  72.  
  73.  
  74. Header("Content-type: image/gif");
  75. imagegif ($handle);
  76.  
  77. mysql_close($sql_conn);
  78. ?>
  79.  
kipero
Możesz zastosować mod_rewrite i przepisać adres podpis_2.png na podpis.php?id=2
Skrypt rzeczywiście nie jest w ogóle zabezpieczony. Użyj chociażby intval dla $_REQUEST['id'].
Klycior
Dodałem podobną funkcję która miejmy nadzieję zabezpieczy wystarczająco.

A co do tego rozszerzenia to nie powiem nie jest to takie proste.

Mój plik się nazywa podpis.php a z id podpis.php?id=1

Mam coś takiego:

  1. RewriteRule ^podpis-([^-]+).png$ podpis.php?id=$1 [L]


I jakoś zero reakcji, dodam że plik .htaccess znajduje się w głównym katalogu a plik podpis w katalogu: forum/inne



Problem rozwiązany wszystko śmiga jak na dłoni.

Miałem problem taki że moje forum poprostu blokowało podmianę tego i wystarczyło dodać do innego katalogu.


Jeżeli ktoś ma chwilkę czasu niech zobaczy ten temat: Temat: Wyciaganie dodatkowych danych ze skryptu


A tymczasem dziękuję Ci kipero za pomoc, leci +.


Temat można zamknąć.
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.