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
上一篇下一篇

猜你喜欢

热点阅读