2010-10-22 68 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() ?>" />