如何在PHP中找不到扩展名的图像类型?

Ebi*_*ose 3 php

我有图像上传php类.此过程上传了图像(.png,jpeg,.gif).我正在使用此功能来查找图像类型

 function getImageType($image_name){
    return end(explode('.',$mage_name));
              }
Run Code Online (Sandbox Code Playgroud)

如果有人上传任何带有假扩展名的文件.错误会发生.如何在不检查扩展名的情况下检查图像类型?

com*_*857 9

您可以使用getimagesize获取mime类型,并打开类型以创建生成扩展.

在代码中,这看起来像这样:

$image_info = getImageSize($path);
switch ($image_info['mime']) {
case 'image/gif':
    $extension = '.gif';
    break;
case 'image/jpeg':
    $extension = '.jpg';
    break;
case 'image/png':        
    $extension = '.png';
    break;
default:
    // handle errors
    break;
}
Run Code Online (Sandbox Code Playgroud)