文件类型列表 php

ato*_*oms 6 php file-type

我正在寻找一个列表/描述,详细说明php基于上传的文件分配的文件类型。

我有以下脚本。它需要上传的文件和文件类型。将其与数组进行比较以检查该类型是否被允许,然后继续执行脚本。

$file  = $_FILES['attachment']['tmp_name'];

//check file is correct type
$fileType = $_FILES['attachment']['type'];
// array of allowed file extensions
$fileTypeArray = ["application/pdf", "application/doc", "application/docx", "application/rtf", "application/txt", "application/odf", "application/msword"];


// now check that the file type matches that of the array. 
if (!in_array($fileType, $fileTypeArray)){ 
Run Code Online (Sandbox Code Playgroud)

我想允许任何上传docpdftxt等,其目的是处理上传的简历。请告诉我您是否能想到更好的解决方案。干杯!

Fél*_*ier 5

这些媒体类型实际上是 MIME 类型并且 PHP 管理它们(以下摘自MDN

媒体类型(也称为多用途 Internet 邮件扩展或 MIME 类型)是指示文档、文件或字节分类的性质和格式的标准。它在 IETF 的RFC 6838 中进行了定义和标准化。

互联网编号分配机构(IANA)负责所有官方和MIME类型,你可以找到他们的最先进的最新和完整列表媒体类型页。

其中有一些,列表可能会扩展。


为了您的比较,我认为您想手动定义可接受的类型,因为使用泛型类型列表会导致所有类型都可以接受(这似乎不是您的目标)

我还会添加指向输入手册页的链接,并建议您阅读该accept属性,该属性可以直接在客户端过滤您的文件

如果type属性的值为file,则该属性表示服务器接受的文件类型;否则将被忽略。该值必须是以逗号分隔的唯一内容类型说明符列表:

不要让文字愚弄你;如果文件不是accepted 文件类型,用户将无法选择该文件,但请注意,服务器需要验证该文件,并且可以直接向服务器提交表单并绕过任何客户端验证。