2010-10-22 110 views
0

我目前正試圖輸出一個圖像(圖表生成的圖表)。 我得到的所有數據後,我需要我只是輸出的圖像到磁盤:輸出圖像(圖表)到瀏覽器

imagepng($img, "img/graf.png", 0); 
imagedestroy($img); 

然後我調用頁面上的圖像,但是瀏覽器總是使用緩存的圖像,而不是新生成的圖像。 所以我想輸出圖像到瀏覽器。

首頁是k_b.php。 圖表生成,當我調用文件grafico.php與存在於k_b.php文件的

include 'grafico.php'; 

。 然後我有一些代碼顯示不同的按鈕/文本取決於其他因素,但我必須顯示該圖表。

當我嘗試將圖表直接輸出到瀏覽器時,我只是顯示圖表而沒有其他東西。與imagepng($img);

編輯: 在網上發現這似乎工作;

ob_start(); 
imagepng($img); 
$contents = ob_get_contents(); 
ob_end_clean(); 
$imagem = "<img src='data:image/png;base64,".base64_encode($contents)."' />"; 
imagedestroy($img); 

回答

0

如果與imagepng($img);腳本發送圖像到瀏覽器就可以使用

<img src="grafico.php" alt="" /> 

獲得在HTML文件中的圖像。

+0

沒有工作。無論如何。 :) – elvispt 2010-10-22 10:35:14

+1

這應該工作,什麼是在grafico.php?我認爲適當的標題丟失了。 – MatTheCat 2010-10-22 10:52:11

1

如果要再次嘗試將圖像保存到磁盤並使用普通的HML <img>標記指向它,則添加每次都不相同的查詢字符串應該防止瀏覽器顯示緩存版本。

<img src="img/graph.png?<?= time() ?>" />