Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z wyświetlaniem grafiki pod firefoxsem
Forum PHP.pl > Forum > Przedszkole
gustafitka
Witam

Mam dość dziwny problem.Mam skrypt który wyświetla grafikę pod przeglądarką
IE i tu nie ma problemu a jak odpalę przez Firefoxa to pojawiają mi się krzaczki i dziwne znaczki.
Proszę o pomoc ..

O to skrypt.

  1. <?php
  2. include("konfiguracja.php");
  3.  
  4.     $liczby       =    array();
  5.     $nazwisko     =    array();
  6.     if (is_null($_SESSION['uzytkownik'])){
  7.     echo "Nie jestes zalogowny" ;    
  8.     exit ;
  9. }
  10.      $polaczenie = pg_connect("dbname=".DB_DATABASE."  user=".DB_SERVER_USERNAME." port=5432 password=".DB_SERVER_PASSWORD."  host=".DB_SERVER );
  11.     if (!$polaczenie)
  12.     {
  13.      echo "Błąd połaczenia do bazy PostgreSQL $baza\n";
  14.      exit;
  15.     }
  16.    $zap = pg_query($polaczenie, "SELECT * FROM place");
  17.    while ($dane = pg_fetch_object($zap))
  18.    {
  19.       $i=$i+1;    
  20.       $suma=$suma + $dane->brutto ;
  21.       $liczby[$i] = $dane->brutto  ;
  22.       $zap1 = pg_query($polaczenie, " SELECT * FROM pracownicy WHERE id_pracownicy =' $dane->id_pracownicy ' ");
  23.       $dane1 = pg_fetch_object($zap1) ;
  24.       $nazwisko[$i] = $dane1->nazwisko ;
  25.      
  26.      
  27.    }
  28.  
  29. $image = imagecreatetruecolor(800, 500);
  30. $gray = imagecolorallocate($image, 230, 230, 230);
  31. $red = imagecolorallocate($image, 220, 0, 0);
  32. $white = imagecolorallocate($image, 255, 255, 255);
  33. imagefill($image, 0, 0, $gray);
  34. $razem = 0;
  35. $najwyzszy = 0;
  36. for($n=1 ;$n<$i+1 ; $n++ )  {
  37.  $razem += $liczby[$n]/100;
  38.  if ($liczby[$n]/100 > $najwyzszy)
  39.     $najwyzszy = $liczby[$n]/100;
  40. }
  41.  
  42. // Maksymalna wysokosc dla najwyzszego slupka
  43. $wysokosc = 350;
  44. // Najnizszy punkt slupka
  45. $podstawa = 400;
  46. // Szerokosc slupka
  47. $szerokosc = 45;
  48. // Wspolrzedna pierwszego slupka
  49. $x = 70;
  50. // Odstep miedzy slupkami
  51. $odstep = 95;
  52. for($n=1 ;$n<$i+1 ; $n++ ) {
  53.  // Wyliczenie wysokosci slupka z proporcji
  54.  $wysokosc_slupka = $liczby[$n]/100 * $wysokosc / $najwyzszy;
  55.  $y = $podstawa - $wysokosc_slupka;
  56.  imagefilledrectangle($image, $x, $y,$x + $szerokosc, $podstawa, $red);
  57.  // Wartosc
  58.  imagestring($image, 3, $x + 10, $y + 50, $liczby[$n], $white);
  59.  // Opis
  60.  imagestring($image, 4, $x, $podstawa + 10, $nazwisko[$n], $red);
  61.  $x += $odstep;
  62. }
  63. imagepng($image); //Wyswietlam obrazek
  64. ?>

Dziękuje serdecznie
Jak będą potrzebne te krzaczki to wstawię je
tmgryf
przed imagepng wstaw header("Content-type: image/png")

a jesli po zrobieniu tego wywali ci blad header already send... to:

upewnij się że:
1 nie wyświelasz niczego przed header("Content.... np echo"test" itp choćby w include("konfiguracja.php");
2 kodowanie pliku musi być bez BOM - np ANSI lub UNICODE without BOM (byte order marker) - takie 3 bajty co niby ich nie ma a jednak są nawet w pustym pliku z wlaczonym bom
Spawnm
a nie powinno jeszcze być imagecreatefrompng questionmark.gif
tmgryf
Gdyby obraz najpierw mialbyć otwarty np. z pliku lub bazy danych to wtedy byś otworzył go w ten sposob:

$image = imagecreatefrompng($zródlo.png);

zamiast:

$image = imagecreatetruecolor(800, 500);
erix
Proszę o tag tematu.
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.