Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Błąd z grafiką (użycie GD)
Forum PHP.pl > Forum > Przedszkole
Mike122
Znalazłem skrypt grafiki która generuje się w celu zabezpieczenia przed spamem jednak podczas generowani skryptu grafiki wyświetla się następujący błąd:
Warning: Cannot modify header information - headers already sent by (output started at \www\web\admin\obraz.php:2) in \www\web\admin\obraz.php on line 5
Czyli coś jest w 5 linii:
  1. <?php
  2. header('Content-type: image/png'); //ustawiamy nagłówek HTTP na obrazek png
  3. ?>

Mi się zdaje że jest wszytsko OK.
Oto cały skrypt:
  1. <?php
  2.  
  3.  session_start(); //rozpoczynamy sesję
  4.  $czcionki= array('times.ttf','trebuc.ttf', 'arialbd.ttf','GARAIT.TTF','comic.ttf'); //definiujemy czcionki za pomocą tablicy
  5.  header("Content-type: image/png"); //ustawiamy nagłówek HTTP na obrazek png
  6.  $obraz = ImageCreate(250, 40); //tworzymy obrazek o wysokości 40 i szerokości 250
  7.  $kolor['1'] = ImageColorAllocate($obraz, 255, 255, 255); //definiujemy kolor 1 (biały)
  8.  $kolor['2'] = ImageColorAllocate($obraz, 169, 169, 169); //definiujemy kolor 2 (darkgray)
  9.  $kolor['3'] = ImageColorAllocate($obraz, 220, 220, 220); //definiujemy kolor 3 (gainsboro)
  10.  ImageFilledRectangle($obraz, 0, 0, 300, 50, $kolor['1']); 
  11.  ImageFilledArc($obraz, 25, 25, 40, 40, 180, 360, $kolor['3'], 1);
  12.  for($i = 0; $i < 60; $i++) //w pętli
  13.  {
  14.  imageellipse($obraz, rand(0, 250), rand(0, 40), rand(2, 30), rand(2, 30), $kolor['2']); //tworzymy losowo rozmieszczone elipsy o kolorze darkgray
  15.  }
  16.  for($i = 0; $i < 3; $i++)
  17.  {
  18.  ImageTTFText($obraz, rand(25,30), 0, rand(25,30), rand(30,35), $kolor['3'], $czcionki[rand(0, count($czcionki) - 1)], $_SESSION['obst']); //dodajemy do rysunku tekst o losowym położeniu, kolorze gainsboro, losowej czcion
    ce (losowanej z tablicy)
  19.  } 
  20.  ImageTTFText($obraz, rand(25,30), 0, rand(25,30), rand(30,35), $kolor['2'], $czcionki[rand(0, count($czcionki) - 1)], $_SESSION['obst']); //dodajemy do rysunku tekst o losowym położeniu, kolorze darkgray, losowej czcionc
    e (losowanej z tablicy) oraz tekście, który przekażemy za pomocą sesji
  21.  
  22.  Imagepng($obraz); //wyświetlamy obrazek za pomocą funkcji <a href="manualphp-ImagePNG.html">ImagePNG</a>
  23.  ImageDestroy($obraz); //niszczymy identyfikator pliku
  24.  session_unregister('obst'); //zwalniamy z sesji obst
  25.  ?>

Proszę o pomoc. Posiadam zainstalowane php 5.0.2 z biblioteką GD2.

Już nie ważne problem rozgryziony.
aktus
problem w tym, ze php bardzo nie lubi jak mu sie zmienia headera oraz kiedy przed generowaniem grafiki jest jakis tekst w html. jedynym sposobem jest wykasowanie wszystkiego przed "<?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.