将图像输出到浏览器并写入磁盘

时间:2015-03-31 17:05:42

标签: php

对于了解PHP的人来说,这似乎是一个非常简单的问题,但我无法弄清楚如何使这项工作(可能是因为我对PHP知之甚少)。与此相关的大多数问题都询问如何将图像输出到浏览器磁盘,但我想同时执行这两个操作。见下面的例子:

<?php

header('Content-type: image/png');

$filename = "my_written_image.png";
$png_image = imagecreatefrompng('some_fancy_image.png');
imagepng($png_image, $filename);
imagepng($png_image);

?>

这不会奏效。该图片不会在浏览器中显示,但如果我删除此行,它将会有效:imagepng($png_image, $filename);

我猜测一个人只能&#34;输出&#34;使用imagepng的一件事,但我将如何完成上述工作?

2 个答案:

答案 0 :(得分:0)

您应该使用以下代码:

<?php
header('Content-type: image/png');
$filename = "my_written_image.png";
$png_image = imagecreatefrompng('some_fancy_image.png');
file_put_contents($filename, $image);
imagepng($png_image, $filename);
?>

我的服务器没有打开,所以我无法测试代码,但我认为这应该可行。

答案 1 :(得分:0)

好吧,我的原始解决方案似乎确实有效。问题是我正在使用(在我的真实代码中):if(readfile("myfile.png"))如果找不到它会返回false,但如果不使用@readfile()则会返回错误(注意@)。文件说:

  

打印出错误信息

我认为这不会导致整件事失败。抱歉我的愚蠢。