1
A
回答
2
2
我知道这是一个有点老了,但我一直在寻找一个解决方案,这出在从MySQL中的BLOB,这是为我工作的方式。我希望它也能帮助别人。我不知道哪种方式最适合性能,但值得测试。
$finfo = new finfo(FILEINFO_MIME);
$mimeType = $finfo->buffer($myBlobHere);
1
该OP只询问图像类型。对于图像类型,getimagesizefromstring()
效果不错,但finfo
适用于其他文件类型。不幸的是,finfo
在所有服务器上都不可用。它自PHP 5.3.0起包含,但在Windows系统上经常被禁用。因此,我选择首先使用getimagesizefromstring
,如果这不能检测到mimetype,我检查finfo
-类,如果它存在,我尝试finfo。
这是联合解决方案:
$imagesize = getimagesizefromstring($blobVal);
if($imagesize!==false && isset($imagesize['mime']))
$mimetype = $imagesize['mime'];
elseif(class_exists('finfo'))
{
$finfo = new finfo(FILEINFO_MIME);
$mimetype = $finfo->buffer($blobVal);
}
else
$mimetype = "application/octet-stream";
在这里,我使用的是默认的MIME类型作为后备,你可能需要调整这一点。
注意:使用finfo
,你可能想FILEINFO_MIME_TYPE
而不是FILEINFO_MIME
,因为后者还包含了编码,而FILEINFO_MIME_TYPE
只返回MIME类型。在我的情况下,我在http内容类型头中使用$mimetype
,其中编码很有帮助。
相关问题
- 1. 从NSData确定MIME类型?
- 2. 如何在JavaScript中获取图像/ blob的MIME类型?
- 3. Zend Framework无法确定MIME类型的图像上传
- 4. 无法确定文件的MIME类型
- 5. 如何确定适当的MIME类型
- 6. 确定excel文件的MIME类型
- 7. 确定文件的MIME类型
- 8. 从MIME类型获取图像类型在PHP
- 9. 检查图像的MIME类型
- 10. JSON的正确MIME类型?
- 11. 确定由意图返回的android中的uri的MIME类型?
- 12. php gd imagecreatefromstring()和图像MIME类型
- 13. PHP检查图像MIME类型
- 14. png图像MIME类型错误cakephp
- 15. 确定共享Dropbox意图的MIME类型?
- 16. CakePHP的上传图片 - 无法确定MIME类型
- 17. 的JavaScript:确定图像类型
- 18. 确定图像的文件类型
- 19. 如何确定Azure容器中所有Blob的Blob类型?
- 20. 将图像保存为Blob类型
- 21. 如何确定图像类型
- 22. Php不返回正确的MIME类型
- 23. 什么是vcalendar的正确MIME类型
- 24. css.map文件的正确MIME类型
- 25. Php include()正确的MIME类型
- 26. PHP报告不正确的MIME类型
- 27. HTML5视频 - 不正确的MIME类型
- 28. JSON的正确MIME类型是什么?
- 29. 从MediaPromise获取MIME /类型
- 30. 从DataHandler检测MIME类型
如果有临时文件,请显示代码如何执行。 – hakre