Laravel“扩展”方法的精确度如何?

时间:2019-02-22 14:51:38

标签: php laravel

根据Laravel的文档,您可以使用extension()类中的UploadedFile方法获得文件扩展名,但是它的准确性如何?

摘自文档:

  

扩展名方法将尝试猜测基于文件的扩展名   在其内容上。此扩展名可能与扩展名不同   由客户提供的:

所以,据我了解,该方法并非100%准确,但是为什么呢?有人可以解释一下。

1 个答案:

答案 0 :(得分:3)

您不能总是依靠文件的扩展名。我可以拍摄任何图像文件,并将扩展名更改为.docx。但是,尝试找到文件的原始扩展名并不是那么容易。

大多数文件都有一个描述类型的标头,我认为这就是这里所使用的。但并非所有文件都具有此功能。因此,无法确定任何文件的类型。


更新:Laravel使用Symfony的guessExtension方法执行此操作。此方法基于文件的mime类型(并非总是存在)起作用。当找不到MIME类型时,Symfony会根据文件的元数据来猜测MIME类型。