• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 解决thinkphp5中图片处理中遇到的问题

解决thinkphp5中图片处理中遇到的问题

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了thinkphp5,图片处理等相关知识,希望对您有所帮助

下面给大家介绍thinkphp5中图片处理中遇到的问题,希望对需要的朋友有所帮助!

图片处理中遇到的问题

我额外把图片的处理和上传封装成了一个类,返回保存的图片路径

在图片返回和保存路径时不能是绝对路径。

这样会导致图片打不开,应该是相对于这个项目跟目录的相对路径

<?phpnamespace app\common\vendor; use think\Image;use think\Request; class Picture{    public function Up($file,$type)//获取图片,验证    {        //处理图片        $request=new Request();        $saveName=$request->time().'.png';        $image=Image::open($file);        switch($type){            case 'advertise':                $deal=$image->thumb(20,40,6);                $link='public'.DS.'static'.DS.'picture'.DS.$type.DS.$saveName.'.png';                break;            case 'user':                $deal=$image->thumb(40,40,6);                $link='public'.DS.'static'.DS.'picture'.DS.$type.DS.$saveName.'.png';                break;        }        //上传图片        if($deal->save(ROOT_PATH.$link)){            //echo $deal->width()."<br/>".$deal->height();            return $link;        }else{            echo "失败";        }    }}

封装这个类之后图片的验证就需要再控制器中验证

1、图片验证时遇到的问题

我的图片验证:

$result = $this->validate(['file' => $file],    ['file' => 'require|image|fileExt:png,jpg,gif'],    ['file.require' => '请选择上传文件','file.image'=>'必须是图片哦','file.fileExt'=>'文件格式不对']);

我再图片中验证就是对这个验证的不太熟悉,经过了解才知道这些内容的含义

更多的上传文件验证规则还包括 验证规则

file 验证是否为File对象

image 验证是否为图像File对象

image:width,height[,type] 验证图像文件的类型和宽高

fileExt:zip,doc,… 验证文件后缀

fileMime:image/png,… 验证文件类型

fileSize:1024 验证文件大小

2、图片文件上传方式

这里面上传的是文件,用Image::open()进行打开图片,成为图片格式,这两种是不同的格式

我们要进行图片处理所以要先打开图片在处理在图片保存,

在thinkphp中保存图片使用图片->save(路径)进行保存

但是如果不用处理就可以直接文件->move(路径)进行保存


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ThinkPhp5.1制作微信支付以及支付后的几种状态说明
  • 你知道Thinkphp5.1让验证码在Electron-vue中怎么用?
  • ThinkPHP5通过ajax插入图片并实时显示(完整代码)
  • 分析 thinkphp5 显示render不兼容问题
  • ThinkPHP5访问怎么去除/public/index.php
  • Thinkphp5.1详细讲解中间件的用法
  • ThinkPHP5分页paginate代码实例解析
  • 关于thinkphp5中分页paginate()之后的数据中添加键值
  • Thinkphp5+Redis实现商品秒杀代码实例讲解
  • 如何使用thinkphp5.1的数组查询对象

相关文章

  • 2022-04-29Illustrator结合PS打造碎花风格立体字
  • 2022-04-29织梦DEDECMS网站5.5升级5.7SP1不出错的方法
  • 2022-04-29浅析Node.js中zip压缩和zip解压缩
  • 2022-04-29nginx报错502怎么办?解决方案分享
  • 2022-04-29PHP中如何利用define定义常量
  • 2022-04-29WordPress使用OSS Upload后媒体库无法加载一直转圈解决方法
  • 2022-04-29Js实现动态的仿百度“元宵节汤圆”特效
  • 2022-04-29帝国CMS如何修改网址+标题+关键字+描叙方法
  • 2022-04-29了解Ajax Session失效跳转登录页面的方法
  • 2022-04-29WordPress5.5后怎么平稳度过jQuery兼容问题

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 解决LNMP环境安装WordPress不显示主题,无法编辑的教程
    • vue路由学习之区分$route和$router,看看它们的区别
    • Photoshop设计漂亮的坦克游戏界面
    • Illustrator CS5绘制逼真的红辣椒教程
    • 如何辨别网站是合法的链接来源还是链接工厂
    • CDR绘制木纹质感APP图标
    • TP6+vue-element-admin实现后台登录验证码
    • Javascript怎么实现四位随机验证码
    • Discuz!教程之删除注释云平台JS,加快Discuz访问
    • Photoshop设计超酷的连体艺术字教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有