imagini cu php - Cannot modify header information

Aici prezentati probleme, intrebari, sau orice subiecte legate de scripturi si tutoriale de pe site.
Avatar utilizator
steell
Mesaje: 190

imagini cu php - Cannot modify header information

salut.
am incercat urmatorul cod de pe site

Cod: Selectaţi tot

<?php
// setare dimensiuni
$height = 40;
$width = 170;
// definirea cadrului de baza a imaginii
$im = imagecreate($width, $height);

// setare culori
$fundal = imagecolorallocate($im, 10, 10, 250);
$line_color = imagecolorallocate($im, 200, 220, 8);

// crearea imaginii
imagefill($im, 0, 0, $fundal);
imageline($im, 50, 10, 120, 10, $line_color);     // prima linie
imageline($im, 40, 20, 130, 20, $line_color);     // a doua linie

// trimiterea datelor de iesire
header('Content-type: image/jpeg');
imagejpeg($im);

// curatarea memoriei
imagedestroy($im);
?>
dar imi da eroarea asta :Warning:

Cod: Selectaţi tot

Cannot modify header information - headers already sent by (output started at C:\wamp\www\bbb.php:5) in C:\wamp\www\bbb.php on line 46
����JFIF��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ��C
si aici continua cu caractere ciudate patratele si altele
am mai incercat si acesta

Cod: Selectaţi tot

<?php
$text = 'Textul din imagine';

// setare dimensiuni suprafetei de baza
$height = 40;
$width = 170;
// definirea imaginii
$im = imagecreate($width, $height);

// setare culori
$fundal = imagecolorallocate($im, 10, 10, 250);
$text_color = imagecolorallocate($im, 255, 255, 255);

// finalizarea imaginii
imagefill($im, 0, 0, $fundal);
imagestring($im, 4, 10, 15, $text, $text_color);

// trimiterea datelor de iesire
header('Content-type: image/png');
imagepng($im);

// curatarea memoriei
imagedestroy($im);
?>
insa aceeasi eroare :

Cod: Selectaţi tot

Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\bbb.php:5) in C:\wamp\www\bbb.php on line 47
linia 47 este asta: header('Content-type: image/png');
singurul script care merge este acesta:

Cod: Selectaţi tot

<?php
$text = 'Textul din imagine';

// setare dimensiuni
$height = 50;
$width = 170;
$im = imagecreate($width, $height);

// setare culori
$fundal = imagecolorallocate($im, 10, 10, 250);
$text_color = imagecolorallocate($im, 255, 255, 255);

// finalizarea imaginii
imagestring($im, 4, 10, 15, $text, $text_color);

// salvarea imaginii pe server
imagepng($im, "img.png");

// curatarea memoriei
imagedestroy($im);
?>

<img src="img.png" alt="Afisare 1" />
--- <img src="img.png" alt="Afisare 2" />
am observat ca la acesta nu mai apare linia aceea cu header si de aceea merge insa nu stiu la ce ajuta linia asta.
cum as putea repara problema?
folosesc wamp5 am activat si extensia php_gd2 (e singura cu gd).

MarPlo Mesaje: 4343
Salut
Cand se lucreaza cu header() , la fel ca si la session_start(), nu trebuie sa ai cod care genereaza date de iesire inainte de linia cu header().
Deci, header() trebuie adaugat inainte de orice al cod care trimite date la browser, cum ar fi HTML, valori cu "echo", sau chiar vreun spatiu pana la <?php .
Probabil ai adaugat acele coduri intr-un script care , dupa cum indica eroarea, trimite date de iesire la linia 5.
Daca incerci codurile acelea de creare imagini separat, asa cum sunt, functioneaza.

Subiecte similare