我想确保用户上传的文件是真正的视频或图片,而不仅仅是一段重命名为textfile.jpg的文本。有哪些方法可以确保?
我看到唯一的方法:通过它的扩展来检测文件类型,然后根据文件类型,尝试获取有关它的信息(通过Imagemagick或ffmpeg)。
还有其他方法吗?
谢谢。
答案 0 :(得分:1)
在许多类UNIX系统上,您有file
程序来检查文件内容。在我的Ubuntu系统上,这会接受--mime-type
标记(Google file
的Google搜索是一场噩梦,所以我不会试着查看这是多么标准化):
$ file --mime-type some_image.jpg
some_image.jpg: image/jpeg
您可以轻松解析输出,以查看MIME类型是以image/
还是video/
开头。
答案 1 :(得分:0)
答案 2 :(得分:0)
如果mdm的答案不适用于您的情况,那么您可以查看www.wotsit.org - 它提供了大量文件格式的详细信息......
马丁。
答案 3 :(得分:0)
答案 4 :(得分:0)
PHP具有内置于5.3的Fileinfo扩展,可通过PECL获得早期版本。它将告诉您文件的MIME类型,以及其他内容:http://php.net/manual/en/book.fileinfo.php