使用php和gd - 在性能或时间之间执行的更好:
输出图像
header('Content-Type: image/png');
imagepng($image);
或者将图像保存到服务器(本地服务器或Amazon s3)
imagepng($image, 'new_image.png');
答案 0 :(得分:0)
嗯,生成图像数据所需的时间没有差别,因为在两种情况下它都是相同的。
但是,当您将图像保存到本地磁盘时,操作可能比将数据发送到世界某处的客户端浏览器时更快地终止。
然而,PHP的重点是在浏览器中呈现内容,所以我猜你会显示存储的文件,否定你从存储图像中获得的速度的任何好处。
所以,如果你想在两种情况下都显示图像,我想最好直接从PHP脚本输出图像。
另一方面,如果您不止一次使用图像,那么您应该保存它,并使用保存的版本,因为生成图像本身需要PHP时间。
如果你想生成一次,并且多次使用,你可以使用这段PHP代码:
<?php
// this is where it is stored
$filename = 'my_image.png';
// test if file exists
if (!file_exists($filename))
{
// if does not exist, make it
<... your code for making the image ...>
// store to disk
imagepng($image,$filename);
// image is not needed anymore
imagedestroy($image);
}
// header
header('Content-Type: image/png');
// get file from the disk
readfile($filename);
?>
如果您已经更改了图像并且想要重新生成它,只需从磁盘中删除该图像。这是一个非常基本的例子,您可以根据自己的需要进行构建。