在Laravel注册中上传图片

编程入门 行业动态 更新时间:2024-10-11 03:24:06
本文介绍了在Laravel注册中上传图片的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在建立一个网站,用户可以使用Laravel身份验证使用其凭据(例如名称,电子邮件,密码和dob)上传自己的个人资料图片.

I'm making a website where users can upload their own profile picture, with their credentials such as name, email, password, and dob using Laravel Authentication.

完成 php artisan make:auth 之后, AuthController.php 中就有此功能:

After doing php artisan make:auth , there's this function in AuthController.php :

protected function create(array $data) { return User::create([ 'name' => $data['name'], 'email' => $data['email'], 'password' => bcrypt($data['password']), 'dob' => $data['dob'], 'profile_picture' => $data['profile_picture], ]); }

这是我的表格:

<form class="form-horizontal" role="form" method="POST" action="{{ url('/register') }}" enctype="multipart/form-data"> {{ csrf_field() }} <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}"> <label for="email" class="col-md-4 control-label">E-mail Address</label> <input id="email" type="email" class="form-control" name="email" value="{{ old('email') }}"> @if ($errors->has('email')) <span class="help-block"> <strong>{{ $errors->first('email') }}</strong> </span> @endif </div> <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}"> <label for="password" class="col-md-4 control-label">Password</label> <input id="password" type="password" class="form-control" name="password"> @if ($errors->has('password')) <span class="help-block"> <strong>{{ $errors->first('password') }}</strong> </span> @endif </div> <div class="form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}"> <label for="password-confirm" class="col-md-4 control-label">Confirm Password</label> <input id="password-confirm" type="password" class="form-control" name="password_confirmation"> @if ($errors->has('password_confirmation')) <span class="help-block"> <strong>{{ $errors->first('password_confirmation') }}</strong> </span> @endif </div> <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}"> <label for="name" class="col-md-4 control-label">Fullname</label> <input id="name" type="text" class="form-control" name="name" value="{{ old('name') }}"> @if ($errors->has('name')) <span class="help-block"> <strong>{{ $errors->first('name') }}</strong> </span> @endif </div> <div class="form-group{{ $errors->has('dob') ? ' has-error' : '' }}"> <label for="name" class="col-md-4 control-label">Date of Birth</label> <input id="dateOfBirth" type="date" class="form-control" name="dob"> @if ($errors->has('dob')) <span class="help-block"> <strong>{{ $errors->first('dob') }}</strong> </span> @endif </div> <div class="form-group{{ $errors->has('profile_picture') ? ' has-error' : '' }}"> <label for="name" class="col-md-4 control-label">Profile Picture</label> <input id="profilePicture" type="file" class="form-control" name="profile_picture"> @if ($errors->has('profile_picture')) <span class="help-block"> <strong>{{ $errors->first('profile_picture') }}</strong> </span> @endif </div> <div class="form-group"> <button type="submit" class="btn btn-primary"> <i class="fa fa-btn fa-user"></i> Register </button> </div> </form>

我想保存图像文件名及其扩展名.但是我该怎么做呢?如何只获取字符串中的文件名,将图像文件移动到公用文件夹,然后将其保存到XAMPP数据库中?

I would like to save the image filename with its extension. But how do I do it? How to get only his filename in string, move the image file to public folder, and save it into XAMPP database?

推荐答案

如果只想保存名称并上传到profile_images文件夹中的公共目录,则可以执行以下操作:

If you just want to save the name and upload to public directory in profile_images folder, then you can do something like this:

protected function create(array $data) { $request = request(); $profileImage = $request->file('profile_picture'); $profileImageSaveAsName = time() . Auth::id() . "-profile." . $profileImage->getClientOriginalExtension(); $upload_path = 'profile_images/'; $profile_image_url = $upload_path . $profileImageSaveAsName; $success = $profileImage->move($upload_path, $profileImageSaveAsName); return User::create([ 'name' => $data['name'], 'email' => $data['email'], 'password' => bcrypt($data['password']), 'dob' => $data['dob'], 'profile_picture' => $profile_image_url, ]); }

更多推荐

在Laravel注册中上传图片

本文发布于:2023-10-10 09:41:21,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1478315.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:上传图片   Laravel

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!