![]() |
1
49
如果您确定只使用图像,可以查看
如果你不介意外部依赖,你也可以看看 getID3 可以确定许多不同文件类型的mime类型的库。 最后,您可以查看 mime_content_type() 函数-但已弃用 Fileinfo PECL延伸 |
![]() |
2
22
mime_content_type()已被弃用,因此您将无法指望它在将来工作。有一个“fileinfo”pecl扩展名,但我没有听说过它的好消息。 如果您在*nix服务器上运行,您可以执行以下操作,这对我来说很好:
|
![]() |
3
17
对我来说,这些都没用-
|
![]() |
4
10
我真的受够了 标准 PHP中的mime嗅探方法。安装文件信息…使用不推荐使用的函数…哦,这些作品,但仅用于图像!我受够了,所以我做了一些研究,发现 WHATWG Mimesniffing spec -不过,我相信这仍然是一个规范草案。 无论如何,使用这个规范,我可以在PHP中实现mimesniffer。性能不是问题。事实上,在我简陋的机器上,我能够在PHP超时之前打开并嗅探数千个文件。 这里是 MimeReader class .
|
![]() |
5
8
如果您只使用图像,并且您需要mime类型(例如,对于头),那么这是最快和最直接的答案:
即使重命名图像文件,它也会输出真正的图像mime类型 |
![]() |
6
1
根据PHP手册, finfo-file 函数是实现这一点的最佳方法。但是,您需要安装 FileInfo PECL延伸 如果扩展名不是选项,则可以使用过时的 mime_content_type 功能。 |
![]() |
7
1
|
![]() |
8
1
从php 5.3开始,您可以使用finfo来完成此操作:
fileinfo_mime_type标志是可选的;如果没有它,某些文件的字符串会更详细;(显然,某些图像类型会返回大小和颜色深度信息)。使用fileinfo_mime标志返回mime类型和编码(如image/png;charset=binary或text/x-php;charset=us ascii)。见 this site 更多信息。 |
![]() |
9
0
我没用过,但有一个 PECL extension 获取文件的mimetype。官方文件在 the manual . 根据您的目的,文件扩展名可以是正常的,但它并不可靠,因为它很容易更改。 |
![]() |
10
0
我使用用户函数得到了非常好的结果 http://php.net/manual/de/function.mime-content-type.php @“John Dot Howard at Prismmg Dot Com 2009年10月26日03:43”
它不使用finfo、exec或不推荐使用的函数 也适用于远程资源! |
![]() |
11
0
如果你只处理图像,你可以使用
一种更通用的方法是使用pecl中的fileinfo扩展。此扩展的PHP文档可在以下位置找到: http://us.php.net/manual/en/ref.fileinfo.php
有些人对这个扩展有严重的抱怨…因此,如果遇到严重问题或由于某种原因无法安装扩展,您可能需要签出不推荐使用的函数
|
![]() |
12
0
如果您运行Linux并拥有扩展名,那么您可以通过创建哈希数组从/etc/mime.types中简单地读取mime类型。然后您可以将其存储在内存中,并通过数组键调用mime:)
|
![]() |
13
0
您的服务器上任何文件的mime都可以用这个获得
|