上传文件时,WordPress会查看文件的组成,找出真正的mime类型。这是根据中的此部分确定的wp_check_filetype_and_ext()
:
$finfo = finfo_open( FILEINFO_MIME_TYPE );
$real_mime = finfo_file( $finfo, $file );
这就意味着真正的哑剧类型
.vtt
文件,is
text/plain
.
中的更改wp_check_filetype_and_ext()
在5.0.1中,mime类型验证更加严格。现在,它可以确保文件的真正mime类型$real_mime
, 必须与文件扩展名中的扩展名匹配wp_check_filetype()
, 如果支持的话。
为什么.vtt
5.0.1中的上载失败是真正的mime类型text/plain
不同于text/vtt
从支持的.vtt
文件扩展名。
5.0.1之前wp_check_filetype_and_ext()
上载时。vtt文件:
Array ( [ext] => vtt [type] => text/vtt [proper_filename] => )
5.0.1之后,输出为:
Array ( [ext] => [type] => [proper_filename] => )
使用
wp_check_filetype_and_ext
过滤器可以覆盖5.0.1中引入的逻辑,如Dave Romsey在回答中所示
here.
同样的情况似乎也发生在.csv
此处报告的文件#45615
这应该在WordPress 5.0.3中解决vtt
.