Laravel 5 - 从文件扩展名获取MIME类型

Lim*_*nte 3 php mime laravel laravel-5

在Laravel 5中如何从扩展中获取MIME类型?如果有一种方法可以将扩展数组转换为mimes数组,那就更好了.

例如,如何转换array('doc', 'xls')array('application/msword', 'application/vnd.ms-excel')

Juu*_*e14 8

当你的composer.json中出现"guzzlehttp/guzzle":"~5.3 | ~6.0"时,你可以使用:

$mimetype = \GuzzleHttp\Psr7\mimetype_from_filename('foo.doc');
$mimetype = \GuzzleHttp\Psr7\mimetype_from_extension('doc');
Run Code Online (Sandbox Code Playgroud)

  • 来自函数 phpdoc:`@deprecated mimetype_from_filename 将在 guzzlehttp/psr7:2.0 中删除。请改用 MimeType::fromFilename。` (2认同)

Uma*_*mid 8

简直是 L5 中最好的:

\File::mimeType('physical/path/to/file.ext');
Run Code Online (Sandbox Code Playgroud)


Ran*_*eem 6

获取文件 mimetype

$request->file->getMimeType()
Run Code Online (Sandbox Code Playgroud)

验证码

$request->validate([
    'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg'
    'mp3'=>'required|mimetypes:audio/mpeg'
   ]);
Run Code Online (Sandbox Code Playgroud)

您可以从上面的代码中获取文件类型,之后您可以将其设置为像 set for mp3 这样的mimetypes