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

发布时间 - 2021-05-18 00:00:00    点击率:

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

图片处理中遇到的问题

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

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

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

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()."
".$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(路径)进行保存


# thinkphp  # 封装  # 对象  # 图片处理  # 上传文件  # 的是  # 上传  # 成了  # 不太  # 才知道  # 给大家  # 我再  # 请选择 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  实现点击下箭头变上箭头来回切换的两种方法【推荐】  Laravel Docker环境搭建教程_Laravel Sail使用指南  如何选择PHP开源工具快速搭建网站?  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  详解vue.js组件化开发实践  如何在万网利用已有域名快速建站?  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  如何快速上传建站程序避免常见错误?  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  网站优化排名时,需要考虑哪些问题呢?  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  昵图网官网入口 昵图网素材平台官方入口  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  详解MySQL数据库的安装与密码配置  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  新三国志曹操传主线渭水交兵攻略  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  制作电商网页,电商供应链怎么做?  在线教育网站制作平台,山西立德教育官网?  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  如何在建站宝盒中设置产品搜索功能?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  Laravel如何使用查询构建器?(Query Builder高级用法)  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  长沙企业网站制作哪家好,长沙水业集团官方网站?  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  QQ浏览器网页版登录入口 个人中心在线进入  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  如何快速辨别茅台真假?关键步骤解析  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  原生JS获取元素集合的子元素宽度实例  如何自定义建站之星模板颜色并下载新样式?  如何在自有机房高效搭建专业网站?  如何在IIS7上新建站点并设置安全权限?  深圳网站制作培训,深圳哪些招聘网站比较好?  如何在景安服务器上快速搭建个人网站?  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  jQuery中的100个技巧汇总  iOS正则表达式验证手机号、邮箱、身份证号等  PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  详解jQuery停止动画——stop()方法的使用