PHP - 猜测存储在变量中的图像的 MIME 类型
PHP - guess MIME type of image stored in variable
我将小图像存储在数据库中(MySQL、blob
),所以当我检索任何图像时,它都是可变的。
我的计划是用 CSS 显示背景图像中的 base64 编码图像:background: url(data:image/…
。
要执行此操作,我需要检测变量中的 MIME 图像类型。有 exif_imagetype,但它仅适用于文件。
有什么方法可以检测不是作为文件存储而是在变量中的图像的 MIME 类型?
您可以使用 getimagesizefromstring
获取有关图像 blob 的信息,包括图像的 MIME 类型。自 PHP 5.4.
起可用
不过,我也建议将 MIME 类型存储在数据库中。启发式方法是“昂贵的”,在数据库中存储几个字节比一遍又一遍地猜测图像类型要有效得多。
我将小图像存储在数据库中(MySQL、blob
),所以当我检索任何图像时,它都是可变的。
我的计划是用 CSS 显示背景图像中的 base64 编码图像:background: url(data:image/…
。
要执行此操作,我需要检测变量中的 MIME 图像类型。有 exif_imagetype,但它仅适用于文件。
有什么方法可以检测不是作为文件存储而是在变量中的图像的 MIME 类型?
您可以使用 getimagesizefromstring
获取有关图像 blob 的信息,包括图像的 MIME 类型。自 PHP 5.4.
不过,我也建议将 MIME 类型存储在数据库中。启发式方法是“昂贵的”,在数据库中存储几个字节比一遍又一遍地猜测图像类型要有效得多。