首页  >  文章  >  后端开发  >  上传的文件真的是图像吗?如何在 PHP 中验证图像文件。

上传的文件真的是图像吗?如何在 PHP 中验证图像文件。

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-03 11:33:29222浏览

Is the uploaded file really an image? How to verify image files in PHP.

在 PHP 中验证图像文件

在 PHP 中接收文件时,出于安全原因,确保它们是真实图像至关重要。仅仅依靠文件扩展名检查可能是不可靠的,因为恶意用户可以使用类似图像的扩展名重命名脚本。

使用 getimagesize()

getimagesize() 函数提供确定接收到的文件是否为图像的综合方法。它返回一个包含图像信息的数组,包括其宽度、高度和 MIME 类型。实现方法如下:

<code class="php">if (@is_array(getimagesize($mediapath))) {
    $image = true;
} else {
    $image = false;
}</code>

如果 getimagesize() 函数成功检索到一组信息,则表明该文件是真实的图像。否则,它可能是非图像文件。

示例输出

以下是 getimagesize() 的输出示例:

Array (
[0] => 800
[1] => 450
[2] => 2
[3] => width="800" height="450"
[bits] => 8
[channels] => 3
[mime] => image/jpeg)

此输出表明该文件确实是一个宽度为 800 像素、高度为 450 像素、MIME 的图像图像类型/jpeg。

以上是上传的文件真的是图像吗?如何在 PHP 中验证图像文件。的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn