laravel实现上传图片,并且制作缩略图,按照日期存放的代码


Posted in PHP onOctober 16, 2019

先上代码吧:

前端代码:

有很多小伙伴在做表单上传文件的时候没有注意表单的上传格式是什么,就可能导致上传文件、图片不成功!

<form id="form1" name="form1" class="form-horizontal form-label-left" enctype="multipart/form-data" method="post" action="{{asset('/content/add')}}" οnsubmit="submitContent()">
{{method_field('PUT')}}
laravel里面使用method_field()函数来伪造一些http请求;

<div class="form-group">
 <label class="control-label col-md-3 col-sm-3 col-xs-12" for="main_img">展示主图 <span class="required">*</span></label>
 <div class="col-md-6 col-sm-6 col-xs-12">
 <div id="inputBox">
  <input type="file" title="请选择图片" id="mainImg" name="main_img" required multiple accept="image/png,image/jpg,image/gif,image/JPEG"/>
  <div id="mainImgBox"></div>
 </div>
 </div>
</div>
 {!! csrf_field() !!}

给表单加入token;

后端处理:

首先我使用的是Intervention Image类库来制作图片的缩略图、以及保存图片到指定位置;

关于Intervention Image类库我就不多做介绍,如有不了解的请度娘帮助;

<?php
namespace App\Http\Controllers\Admin;
 
use App\Http\Controllers\Controller;
use Image;
use Validator;
 
class ContentController 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 ‘上传成功!';
 }
}

后端处理主要思想:首先通过Validator类库来检验当前上传上来的文件是否符合要求,如果符合要求,就可以对图片进行处理了;处理的时候我是先把要保存图片的相对地址给拼接好,然后通过laravel里面的public_path函数得出绝对的local地址;再去判断该文件夹是否存在,如果不存在那就创建该文件夹。创建好文件夹后我们就应该对上传上来的图片进行进一步处理了,比如我这里需要制作它的缩略图,并且保证图片横纵比,如果有其他的要求,可以前往Intervention Image类库自行查看怎么制作。

以上这篇laravel实现上传图片,并且制作缩略图,按照日期存放的代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP中的cookie不用刷新就生效的方法
Feb 04 PHP
php过滤XSS攻击的函数
Nov 12 PHP
PHP高级编程实例:编写守护进程
Sep 02 PHP
PHP内置的Math函数效率测试
Dec 01 PHP
js代码实现微博导航栏
Jul 30 PHP
PHP正则获取页面所有图片地址
Mar 23 PHP
功能强大的php文件上传类
Aug 29 PHP
PHP xpath()函数讲解
Feb 11 PHP
apache集成php7.3.5的详细步骤
Jun 20 PHP
thinkphp3.2同时连接两个数据库的简单方法
Aug 13 PHP
laravel 解决路由除了根目录其他都404的问题
Oct 18 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
May 14 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
Oct 15 #PHP
解决Laravel自定义类引入和命名空间的问题
Oct 15 #PHP
laravel 如何实现引入自己的函数或类库
Oct 15 #PHP
Laravel 类和接口注入相关的代码
Oct 15 #PHP
在PHP中实现使用Guzzle执行POST和GET请求
Oct 15 #PHP
在Laravel中使用GuzzleHttp调用第三方服务的API接口代码
Oct 15 #PHP
解决在laravel中auth建立时候遇到的问题
Oct 15 #PHP
You might like
PHP中文URL编解码(urlencode()rawurlencode()
2010/07/03 PHP
基于php设计模式中工厂模式详细介绍
2013/05/15 PHP
PHP实现多文件上传的方法
2015/07/08 PHP
10款PHP开源商城系统汇总介绍
2015/07/23 PHP
php workerman定时任务的实现代码
2018/12/23 PHP
laravel csrf排除路由,禁止,关闭指定路由的例子
2019/10/21 PHP
跨域表单提交状态的变相判断代码
2009/11/12 Javascript
Jquery.TreeView结合ASP.Net和数据库生成菜单导航条
2010/08/27 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件
2011/12/21 Javascript
为jQuery添加Webkit的触摸的方法分享
2014/02/02 Javascript
改变隐藏的input中value值的方法
2014/03/19 Javascript
三种AngularJS中获取数据源的方式
2016/02/02 Javascript
基于jQuery实现仿百度首页选项卡切换效果
2016/05/29 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
2017/08/17 Javascript
js使用原型对象(prototype)需要注意的地方
2017/08/28 Javascript
VUE前端cookie简单操作
2017/10/17 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
2018/03/07 Javascript
AngularJS中重新加载当前路由页面的方法
2018/03/09 Javascript
vue-router动态设置页面title的实例讲解
2018/08/30 Javascript
[02:59]2014DOTA2西雅图国际邀请赛 圆满落幕中国夺冠
2014/07/23 DOTA
[01:01:22]VGJ.S vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
python分析作业提交情况
2017/11/22 Python
python matplotlib库绘制条形图练习题
2019/08/10 Python
多个python文件调用logging模块报错误
2020/02/12 Python
python产生模拟数据faker库的使用详解
2020/11/04 Python
Python中lru_cache的使用和实现详解
2021/01/25 Python
澳大利亚香水在线商店:City Perfume
2020/09/02 全球购物
大学生求职中的自我评价
2013/10/01 职场文书
回门宴答谢词
2014/01/13 职场文书
12月红领巾广播稿
2014/02/13 职场文书
《植物妈妈有办法》教学反思
2014/02/25 职场文书
相亲活动方案
2014/08/26 职场文书
2014年化妆品销售工作总结
2014/12/01 职场文书
周恩来的四个昼夜观后感
2015/06/03 职场文书
如何理解PHP核心特性命名空间
2021/05/28 PHP
图片批量处理 - 尺寸、格式、水印等
2022/03/07 杂记