Laravel 5上传脚本文件

时间:2017-01-28 13:31:33

标签: php laravel laravel-5

我正在尝试通过上传表单上传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-phpphp

  • 在终端file --mime-type test.php返回text / x-php

  • Laravel getMimeType()函数也返回text / x-php

  • test.php文件足够小,因此不是大小限制。

  • 如果定义为mimes:jpeg,jpg,png,gif|required|max:10000

  • ,则相同的代码适用于图像

有谁知道如何在验证器中定义任何类型的脚本文件?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

验证器使用了以下定义的mime类型和扩展名列表:

/vendor/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php

因此,此处应定义未知的mime类型以供使用。

这里有一些更有用的信息: Laravel 5 Mime validation