laravel5.8简单图片上传(已封装完成)
2019-08-21 本文已影响0人
这真的是一个帅气的名字
前端页面
<form action="{{ route('admin.news.store') }}" class="form-horizontal form-bordered" method="post" enctype="multipart/form-data">
@csrf
<input type="file" name="title_img" class="default">
<input type="hidden" id="content" name="contents"/>
</form>
控制器
图片上传已经封装好,直接调用就好.首先引入图片上传类
use App\Libs\uploadImg;
image.png
$request = $request->all();
$file = $request['title_img'];
$img = new uploadImg();
$new_img = $img->upload_img($file,'uploads/news');
dd($new_img);
图片上传类
<?php
/**
* Created by PhpStorm.
* User: zheng
* Date: 2019/8/21
* Time: 21:40
*/
namespace App\Libs;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Storage;
class uploadImg
{
/*
*$file->getRealPath(); //这个表示的是缓存在tmp文件夹下的文件的绝对路径;
*$file -> getFileName(); //缓存在tmp文件中的文件名
*$file -> getClientOriginalName(); //获取文件名称
*$file->getClientOriginalExtension(); //上传文件的后缀
*
* */
function upload_img($file,$filepath){
$file_type = ['jpeg','jpg','gif','gpeg','png'];
if(isset($file) && is_object($file)){
$file_ext = $file->extension(); //获取图片后缀
if(in_array(strtolower($file_ext),$file_type)){
$new_name = 'img'.time().rand(10000,99999).'.'.$file->getClientOriginalExtension();//取个新名字
if($file->move($filepath,$new_name)){
return $filepath.'/'.$new_name;
}else{
return 3;//移动失败
}
}else{
return 2;//格式不符
}
}else{
return 1; //没有图片
}
}
}
image.png
image.png