Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel-某些具有相同mime的文件的mimetype验证失败_Php_Laravel_Laravel 5.6_Php 7.2 - Fatal编程技术网

Php Laravel-某些具有相同mime的文件的mimetype验证失败

Php Laravel-某些具有相同mime的文件的mimetype验证失败,php,laravel,laravel-5.6,php-7.2,Php,Laravel,Laravel 5.6,Php 7.2,我有两个mp3文件,比如说file1.mp3和file2.mp3。当我上载文件1时,它已成功上载,但与由于错误的mimetype验证而失败的文件2不同。用于验证输入的字符串为: $rules['arquivos.*'] = 'required|mimetypes:image/jpeg,image/png,image/gif,video/webm,video/mp4,audio/mpeg'; 表单的html代码为: {!! Form::open(['route' => 'posts.sto

我有两个
mp3
文件,比如说
file1.mp3
file2.mp3
。当我上载文件1时,它已成功上载,但与由于错误的mimetype验证而失败的文件2不同。用于验证输入的字符串为:

$rules['arquivos.*'] = 'required|mimetypes:image/jpeg,image/png,image/gif,video/webm,video/mp4,audio/mpeg';
表单的html代码为:

{!! Form::open(['route' => 'posts.store', 'enctype' => 'multipart/form-data', 'class'=>'form-post']) !!}
<input class="novo-post-form-item form-post-file-input" name="arquivos[]" type="file" onchange="addNovoInputFile(this, {{ $configuracaos->num_max_arq_post }})">
// rest of the form
那么有人知道这次会出什么问题吗?或者它是laravel验证部分中的一个bug


编辑:我还发现一些图像文件也出现了这种情况。

你能运行
php-r“echo mime\u content\u type(“~/Music/file2.mp3”);
在php中运行mime类型测试吗?它们都输出
音频/mpeg
奇怪的是,你可能需要连接一个调试器来查看它的失败之处。如果您还没有使用xdebug,我强烈建议您使用它。当我为
file2
调用
validate($request,$rules)
函数时,它会失败。该函数是由Laravelth预定义的,它不够具体,这就是我推荐调试器的原因。
fabio@fabiopc:~$ mimetype ~/Music/file1.mp3 
/home/fabio/Music/file1.mp3: audio/mpeg

fabio@fabiopc:~$ mimetype ~/Music/file2.mp3 
/home/fabio/Music/file2.mp3: audio/mpeg

fabio@fabiopc:~$ file ~/Music/file1.mp3 
/home/fabio/Music/file1.mp3: Audio file with ID3 version 2.4.0, contains: MPEG ADTS, layer III, v1,  64 kbps, 44.1 kHz, Stereo

fabio@fabiopc:~$ file ~/Music/file2.mp3 
/home/fabio/Music/file2.mp3: Audio file with ID3 version 2.4.0, contains: MPEG ADTS, layer III, v1,  64 kbps, 44.1 kHz, Stereo