php文件类型列表

php文件类型列表,php,file-type,Php,File Type,我正在寻找一个列表/描述,详细说明基于上传文件分配的文件类型php 我有以下脚本。它接受上传的文件和文件类型。将其与数组进行比较,以检查是否允许该类型,然后继续执行脚本 $file = $_FILES['attachment']['tmp_name']; //check file is correct type $fileType = $_FILES['attachment']['type']; // array of allowed file extensions $fileTypeArr

我正在寻找一个列表/描述,详细说明基于上传文件分配的文件类型
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)){ 

我想允许上传任何
doc
pdf
txt
等。其目的是处理上传的简历。如果你能想出更好的解决办法,请告诉我。干杯

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

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

负责所有官方MIME类型,您可以在其页面上找到最新和完整的列表

其中有几家,名单可能会扩大


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

我还想添加指向的链接,并建议您阅读
accept
属性,该属性可以在客户端过滤您的文件

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


不要让文字欺骗你;如果文件不在
accept
ed文件类型中,用户将无法选择该文件,但请注意,服务器需要对此进行验证,并且可以直接向服务器提交表单并绕过任何客户端验证。

:)我想您需要手动定义
$fileTypeArray
,除非你想允许所有现有的类型?谢谢Felix,太好了!你会说这是一个全面的列表吗?至少可以理解:)正如你现在可能已经猜到的:文件类型的列表是无止境的。任何人都可以创建一个新的文件类型,并使用它。如果有人说:“这些都是类型,到此为止”,那就太愚蠢了。你可以尝试列出一个长长的清单,但它永远不会完整。出于同样的原因,PHP中的任何地方都没有列表。非常感谢您详细介绍Felix,我们也在客户端实现了:)