当前位置: 首页 > 面试题库 >

如何检查PHP中上传文件的文件类型?

崔涵亮
2023-03-14
问题内容

在PHP网站上,他们建议的唯一实际检查是使用is_uploaded_file()move_uploaded_file(),这里。当然,出于多种原因,您通常不希望用户上传任何类型的文件。

因此,我经常使用一些“严格”的MIME类型检查。当然,这是非常有缺陷的,因为通常哑剧类型是错误的,并且用户无法上传其文件。伪造和/或更改也非常容易。除此之外,每种浏览器和html" target="_blank">操作系统对它们的处理方式也不同。

另一种方法是检查扩展名,这当然比mime类型更容易更改。

如果只需要图像,则可以使用类似的方法getimagesize()

那其他类型的文件呢?PDF,Word文档还是Excel文件?甚至是纯文本文件?

编辑: 如果您没有mime_content_type或Fileinfo,并且system(“ file-bi$uploadedfile”)给您错误的文件类型,还有哪些其他选择?


问题答案:

看一下mime_content_type或Fileinfo。这些是内置的PHP命令,用于通过查看文件内容来确定文件的类型。还要检查以上两页上的评论,还有其他一些好的建议。

就我个人而言system("file -bi $uploadedfile"),使用本质上是的东西我很幸运,但是我不确定这是否是最好的方法。



 类似资料:
  • 问题内容: 我用这段代码检查图像的类型, 但是有些用户抱怨上传任何类型的图像时都会出错,而另一些用户则没有错误! 我想知道这是否可以解决问题: 任何意见? 问题答案: 永远不要使用。其中包含的信息完全未经验证,它是用户定义的值。自己测试类型。对于图像,通常是一个不错的选择: 另外,如果您的服务器支持这些功能,则它们的功能很棒。

  • 问题内容: 我有以下代码来检查(上传的简历和推荐信是否与所需类型(pdf或doc或docx)匹配)和大小(小于400 kb) 这无法正常工作,甚至连txt文件都没有通过+大小限制,这是怎么回事? 谢谢, 问题答案: 下面仅使用mime类型来验证文件,然后检查两者的大小。有关大多数MIME类型的列表,请参见此处或google。

  • 本文向大家介绍asp.net文件上传解决方案(图片上传、单文件上传、多文件上传、检查文件类型),包括了asp.net文件上传解决方案(图片上传、单文件上传、多文件上传、检查文件类型)的使用技巧和注意事项,需要的朋友参考一下 小编之前也介绍了许多ASP.NET文件上传的解决案例,今天来个asp.net文件上传大集合。 1 使用标准HTML来进行图片上传 前台代码: 后台代码: 2 单文件上传 这是最

  • 问题内容: 我有一个上传表单,正在检查文件大小和文件类型,以将上传的文件限制为2 MB,以及.pdf,.jpg,.gif或.png文件类型。我的目标是在用户违反这些规则之一的情况下向他们显示警报消息。 有四种方案: 正确的尺寸/正确的类型(工作中) 正确的尺寸/不正确的类型(工作中) 尺寸/类型 不 正确( 不起作用 ) 不正确的大小/ 不正确的 类型( 不起作用 ) 使用我当前的代码,即使文件类

  • 我已经读过这个和这个问题,它似乎建议可以在客户端使用javascript检查文件MIME类型。现在,我明白了真正的验证仍然必须在服务器端完成。我想执行客户端检查,以避免不必要的服务器资源浪费。 我说目前没有办法用javascript检查MIME类型,对吗?还是我漏掉了什么?

  • 问题内容: 我用来在ASP.NET应用程序中上传文件。我想限制上传的文件类型(例如:限制为.xls或.xlsx文件扩展名)。 JavaScript或服务器端验证都可以(只要服务器端验证将在文件上传之前进行-可能会上传一些非常大的文件,因此任何验证都需要在实际文件上传之前进行) 。 问题答案: 似乎您选择的选项有限,因为您希望在上传之前进行检查。我认为最好的方法是使用JavaScript来验证文件的