gpt4 book ai didi

PHP $_FILES MIME 类型返回 null

转载 作者:可可西里 更新时间:2023-11-01 01:06:31 25 4
gpt4 key购买 nike

现在我正在尝试编写一个脚本,它只接受某些音频文件上传到服务器。

但是,某些 MIME 类型返回为 null。

下面是一些代码片段:

PHP:

$allowedExt=array('audio/mp4a-latm');
if(isset($_POST))
{
print_r($_FILES);
//ToDo: Limit by File Size
if(in_array($_FILES["fileUpload"]["type"],$allowedExt)){
echo "file type found";
}
else
echo "wrong file type";
}

HTML:

<form action="php/FileUpload.php" method="POST" enctype="multipart/form-data">
Choose a file: <input name="fileUpload" type="file" /><br />
<input type="submit" value="Upload" />
</form>

上面的结果是:

Array ( [fileUpload] => Array ( [name] => 02 Helix Nebula.m4a [type] => [tmp_name] => <removed for space...>))
wrong file type

据我了解,type 应该返回文件的 MIME 类型。在本例中,“audio/mp4a-latm”代表 .m4a 文件。

如果 php 正确地为 .m4a 文件返回 null,那么确保我实际处理音频文件的最佳方法是什么?除了解析文件扩展名之外,还有什么更明确的吗? (确保有人没有更改文本文档的扩展名)

最佳答案

MIME 元素来自浏览器,这意味着它可以被操纵,因此不可信。

要么检查扩展名,要么如果您确实需要,解析文件的前几个字节以确保它是预期的。

关于PHP $_FILES MIME 类型返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9653780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com