Ciao a tutti,
ho trovato in rete questa funzione che mi traduce i dati di un array in istogramma.
In una pagina senza altro output funziona ma se inserisco la funzione in una pagina e chiamo la funzione dopo aver visualizzato altre cose vedo strani simboli e il warning che non può modificare l'intestazione.

Il problema è senz'altro header("Content-type: image/png"); che alla funzione serve ma anche io prima devo visualizzare dei dati.
Ho provato anche con ob_start() all'inizio.

Qualcuno può aiutarmi?

posto il codice della funzione

Codice PHP:
function grafico()
{
    
// Add values to the graph
    
$graphValues=array(0,80,23,11,190,245,50,80,111,240,55);
    
// Define .PNG image
    
header("Content-type: image/png");
    
$imgWidth=250;
    
$imgHeight=250;
    
// Create image and define colors
    
$image=imagecreate($imgWidth$imgHeight);
    
$colorWhite=imagecolorallocate($image255255255);
    
$colorGrey=imagecolorallocate($image192192192);
    
$colorDarkBlue=imagecolorallocate($image104157228);
    
$colorLightBlue=imagecolorallocate($image184212250);
    
// Create border around image
    
imageline($image000250$colorGrey);
    
imageline($image002500$colorGrey);
    
imageline($image2490249249$colorGrey);
    
imageline($image0249249249$colorGrey);
    
// Create grid
    
for ($i=1$i<11$i++){
    
imageline($image$i*250$i*25255$colorGrey);
    
imageline($image0$i*25255$i*25$colorGrey);
    }
    
// Create bar charts
    
for ($i=0$i<10$i++){
    
imagefilledrectangle($image$i*25, (250-$graphValues[$i]), ($i+1)*25250$colorDarkBlue);
    
imagefilledrectangle($image, ($i*25)+1, (250-$graphValues[$i])+1, (($i+1)*25)-5248$colorLightBlue);
    }
    
// Output graph and clear image from memory
    
imagepng($image);
    
imagedestroy($image);

Grazie