【发布时间】:2020-10-22 19:12:19
【问题描述】:
我是 laravel 的新手。 这是我的问题。当我尝试上传大文件时,页面抛出 PostTooLargeException。我想要解决方案,当用户上传照片时,我想在文件输入字段下显示自定义错误消息。 ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ......
我的控制器代码
protected function edituserdata(Request $request)
{
$this->validate($request, [
'name' => 'required',
'email' => 'required|email'
]);
$data = $request->all();
$id=$data['id'];
$input['email'] = Input::get('email');
$input['name'] = Input::get('name');
$rules = array(
'email'=>'required|email|unique:users,email,'.$id,
'name' => 'required|regex:/^[\w-]*$/|max:255|unique:users,name,'.$id,
'photo' => 'max:1024|mimes:jpg,jpeg,png'
);
$messages = array(
'email' => 'The :attribute field is already exists',
'name' => 'The :attribute field must only be letters and numbers (no spaces)'
);
$validator = Validator::make(Input::all(), $rules, $messages);
if ($validator->fails())
{
$failedRules = $validator->failed();
return back()->withErrors($validator);
}
else
{
$name=$data['name'];
$email=$data['email'];
$password=bcrypt($data['password']);
$phone=$data['phone'];
$currentphoto=$data['currentphoto'];
$image = Input::file('photo');
if($image!="")
{
$userphoto="/userphoto/";
$delpath = base_path('images'.$userphoto.$currentphoto);
File::delete($delpath);
$filename = time() . '.' . $image->getClientOriginalExtension();
$path = base_path('images'.$userphoto.$filename);
Image::make($image->getRealPath())->resize(200, 200)->save($path);
$savefname=$filename;
}
else
{
$savefname=$currentphoto;
}
if($data['password']!="")
{
$passtxt=$password;
}
else
{
$passtxt=$data['savepassword'];
}
$admin=$data['usertype'];
if(!empty($data['gender']))
{
$gender = $data['gender'];
}
else
{
$gender = "";
}
DB::update('update users set name="'.$name.'",email="'.$email.'",password="'.$passtxt.'",phone="'.$phone.'",photo="'.$savefname.'",admin="'.$admin.'",gender="'.$gender.'" where id = ?', [$id]);
DB::update('update shop set seller_email="'.$email.'" where user_id = ?', [$id]);
return back()->with('success', 'Account has been updated');
}
}
【问题讨论】: