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

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

作者:站长图库 字体:[增加 减小] 来源:互联网

站长图库向大家介绍了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的数组查询对象

相关文章

  • PS快速制作一款华丽的按钮
  • PHP遍历读取文件夹中图片并分页显示
  • PHP怎么只保留汉字
  • 利用滤镜制作简单的水墨字
  • PHP获取QQ用户昵称+头像API接口代码
  • AI画笔工具在字体设计中的灵活运用
  • WordPress文章页如何自动推送提交MIP/AMP页面
  • 怎么为WordPress小工具添加CSS类选项
  • 用PHP特性trait实现简易Laravel Facade
  • 带你了解Angular中的组件通讯和依赖注入

文章分类

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

最近更新的内容

    • 如何利用CSS制作一个聚光灯效果(附代码)
    • uni-app小程序录音上传的解决方案
    • Nodejs+robotjs实现控制鼠标键盘功能
    • 聊聊Bootstrap中的导航条
    • 分享几种实用的Node.js调试方法,快来收藏吧!!
    • 最新苹果cms漏洞被频繁挂马该如何解决
    • 织梦CMS导入数据库,修改数据库配置文件方法
    • PHP中怎么解决serialize函数中文乱码的问题
    • 分享Laravel7消息通知日期序列化解决方案
    • DedeCMS使用sql语句获取文章链接地址

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

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