【问题标题】:Get right type of a photo in PHP [closed]在 PHP 中获取正确类型的照片 [关闭]
【发布时间】:2025-12-05 14:35:01
【问题描述】:

我一直很想通过注册表单在网站上上传照片。

但是,我的程序一开始期待的是“.jpg”照片。

每当我将我的照片从“.png”重命名为“.jpg”时,我都会以一张黑色照片结束。

如何避免扩展名更改时出现黑色照片?

【问题讨论】:

    标签: php upload photo


    【解决方案1】:

    扩展不是任意的。您不能只是更改它们并期望基础数据发生更改。

    您需要使用GIMP 等桌面软件将您的照片从PNG 转换为JPEG,或者允许用户上传PNG 并使用PHP 的GDImageMagick 库在您的服务器。

    【讨论】:

    • 我相信 Windows 中默认的照片文件查看器应用程序会将一种常见的文件格式导出为另一种;我知道 OS X Preview 应用会。
    • 这符合使用桌面软件对其进行转换的条件——尽管是嵌入在操作系统中的软件。
    • 我的意思是,使用 GIMP 进行这种微不足道的转换可能是矫枉过正。
    • OP 可能正在使用不支持它的操作系统或版本。 GIMP 是跨平台的,所以我对冲我的赌注。无论如何,它也是一个非常有用的工具。 :-)
    • 没有办法检测底层扩展并采取相应措施?