尝试使用 PHP imgpng 将图像输出到浏览器时,我得到一个损坏的图像

Posted

技术标签:

【中文标题】尝试使用 PHP imgpng 将图像输出到浏览器时,我得到一个损坏的图像【英文标题】:When trying to output image to browser using PHP imgpng, I get a broken image 【发布时间】:2013-08-07 00:08:22 【问题描述】:

这是呈现表单的代码,它将把上传的图片传递给 process_image.php

This form allows you to upload a file to the server.<br>
    <form enctype="multipart/form-data" action="process_file.php" method="POST"><br>
     Type (or select) Filename: <input type="file" name="uploadFile"><br>
    <input type="submit" value="Upload File">
</form>

这是应该处理该图像并显示它的 php:

<?php

    header( "Content-Type: image/png" );
    $im = imagecreatefrompng($_FILES["uploadFile"]["tmp_name"]);
    imagepng($im);

?>

但是,当我运行此程序时,我在第二页上得到的只是一张损坏的图像。

【问题讨论】:

您的表单action 属性设置为process_file.php,而不是process_image.php。此外,您可能不在操作页面的临时目录中。修复imagecreatefrompng()中的URL。 process_file.php 的其余部分包含什么?如果您有任何其他信息正在显示/显示,您可能会得到损坏的图像。 【参考方案1】:

尝试使用 echo var_dump($_FILES) 并查看是否所有数据都在那里并且没有错误消息。

【讨论】:

以上是关于尝试使用 PHP imgpng 将图像输出到浏览器时,我得到一个损坏的图像的主要内容,如果未能解决你的问题,请参考以下文章

PHP 输出图像 imagegif imagejpeg 与 imagepng 函数

PHP - 如何将图像资源写入文件

如何交付具有特定文件名的 PHP 生成图像?

PHP动态图像处理

尝试使用 HTTPClient 将图像文件发送到 PHP

将 php 脚本的图像输出保存为文件