我正在尝试通过上传表单上传PHP脚本,但Laravel 5 Validator拒绝它。
以下是一个例子:
$input_name = 'myfile';
$requirements = 'mimes:text/x-php|required|max:10000';
$file = array($input_name => Input::file($input_name));
$rules = array($input_name => $requirements);
$validator = Validator::make($file, $rules);
if ($validator->fails()) { // The fail occurs here
echo Input::file($input_name)->getMimeType(); // the output is text/x-php
}
调试数据:
我还尝试将mime类型定义为x-php
和php
。
在终端file --mime-type test.php
返回text / x-php
Laravel getMimeType()
函数也返回text / x-php
test.php文件足够小,因此不是大小限制。
如果定义为mimes:jpeg,jpg,png,gif|required|max:10000
有谁知道如何在验证器中定义任何类型的脚本文件?
感谢您的帮助。
答案 0 :(得分:0)
验证器使用了以下定义的mime类型和扩展名列表:
/vendor/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php
因此,此处应定义未知的mime类型以供使用。
这里有一些更有用的信息: Laravel 5 Mime validation