【发布时间】:2019-01-03 06:55:13
【问题描述】:
我在上传文件 - excel 文件时遇到问题。
我在 laravel 5.5 中使用此规则来获得最大文件大小 3MB。根据文档,该值必须以 KB 为单位。
// Max file size: 3MB (3000 KB)
$validator = Validator::make($request->all(), [
'Feed' => 'file|max:3000',
]);
if ($validator->fails()) {
return Redirect::back()->withErrors(['File to big!']);
}
在 php.ini 中我有:
upload_max_filesize=3M
我要上传的文件是 2.3 MB。
我在验证时做错了什么?
更新
显示我要上传的文件的 $_FILES['Feed'] (original.xls = 2.3MB)
array:5 [
"name" => "original.xls"
"type" => ""
"tmp_name" => ""
"error" => 1
"size" => 0
]
“错误”=> 1
并上传另一个 5.6 KB 的小文件:
array:5 [
"name" => "test.xls"
"type" => "application/vnd.ms-excel"
"tmp_name" => "/tmp/phpJUJfy4"
"error" => 0
"size" => 5632
]
"error" => 0 我可以看到它的大小
更新 2
如果我开始从 excel 文件中删除并获得最大:2MB,则文件上传没有错误。
为什么? 2.0 MB 上传文件,2.1 MB 不上传文件???
【问题讨论】:
-
你有没有发现任何错误?
-
是....我返回的错误:“文件变大!”
-
你试过只用 'Feed' => 'max:3000',
-
检查验证器本身返回的错误。
-
@OluwatobiSamuelOmisakin 验证器本身:“Feed 上传失败。”并仅尝试使用 max:3000 和相同的错误
标签: php laravel laravel-5.5