composer require intervention/image
laravel配置
config/app里面增加:
在providers中增加
Intervention\Image\ImageServiceProvider::class,
在aliases中增加
'Image' => Intervention\Image\Facades\Image::class,
后台控制器
<?php
namespace App\Http\Controllers\Business;
use App\Validate\ActivityValidate;
use App\Validate\ButionValidate;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\Activity as ActivityModel;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Validator;
use Intervention\Image\ImageManagerStatic as Image;
class Activity extends Controller
{
/**
* 添加图片
*/
public function addProcess(){
$inputData = request()->all();
$rules = [
'main_img' => [ 'file','image','max:10240' ]
];
$validator = Validator::make($inputData,$rules);
if($validator->fails()){
return back()->withErrors($validator)->withInput();
}
$photo = $inputData['main_img'];
$file_name = uniqid().'.'.$photo->getClientOriginalExtension();
$file_relative_path = 'assess/images/content/'.date('Y-m-d');
$file_path = public_path($file_relative_path);
if (!is_dir($file_path)){
mkdir($file_path);
}
$thumbnail_file_path = $file_path . '/thumbnail-'.$file_name;
$image = Image::make($photo)->resize(200, null, function ($constraint) {$constraint->aspectRatio();})->save($thumbnail_file_path);
$file_path .= '/'.$file_name;
$image = Image::make($photo)->save($file_path);
echo ‘上传成功!’;
}
}