tp5 缩略图自写
1:php终端
安装扩展
使用Composer
安装ThinkPHP5
的图像处理类库:
composer require topthink/think-image
2:控制器代码:
public function save(Request $request)
{
//接受前端全部参数
$data = $request->param();
// 接受文件上传
$file = $request->file('goods_logo');
if ($file) {
$info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
if ($info) {
// 成功上传后 获取上传信息
//缩略图
// $filename = echo $info->getSaveName()在源代码前面追加 DS .'uploads'.DS;
$filePath = DS .'uploads'.DS.$info->getSaveName();
// 打开缩略图
$image=Image::open('.'.$filePath);
// 设置缩略图
$image->thumb(150, 150)->save('.'.$filePath);
$data['goods_logo'] = $filePath;
} else {
// 上传失败获取错误信息
$this->error($file->getError(), 'http://www.day.com/exam/exam/create');;
}
}
// 添加入库:
$res= Brand::brandId($data);
if (!$res){
$this->error('添加失败','http://www.day.com/exam/exam/create');
} $this->success('添加成功','http://www.day.com/exam/exam/index');
}
tp5 缩略图自写的更多相关文章
- tp5 (自写) 实现redis消息队列 + 排行榜
1:小皮开启redis, 控制器按Ctrl 点击new Redis 进入 redis.php 进行封装 //向队列添加数据 // LPUSH key value1 [value2] //将一个或多个值 ...
- TP5报错variable type error: array
variable type error: array 当你在tp5框架中写方法时返回一个数组时,tp5会报错:variable type error: array 这是因为tp5不支持返回数组. ...
- php核心知识要点
Php:脚本语言,网站建设,服务器端运行 PHP定义:一种服务器端的 HTML 脚本/编程语言,是一种简单的.面向对象的.解释型的.健壮的.安全的.性能非常之高的.独立于架构的.可移植的.动态的脚本语 ...
- PHP Mailer 发送邮件
<?php /* 下载网址 https://github.com/PHPMailer/PHPMailer 打开下载的压缩包文件目录 将 PHPMailer-master 下的 src 文件夹复制 ...
- php手记之01-tp5框架安装
1.1.介绍 在web领域,PHP是所有编程语言中比较受欢迎的一门语言! PHP已经诞生出几十种编程框架!但国内最热门和使用率最好的框架有Thinkphp和Laravel这两款PHP框架! 1.2.为 ...
- php语言的核心知识点
PHP:脚本语言,网站建设,服务器端运行PHP定义:一种服务器端的 HTML 脚本/编程语言,是一种简单的.面向对象的.解释型的.健壮的.安全的.性能非常之高的.独立于架构的.可移植的.动态的脚本语言 ...
- ThinkPHP5 Apache / IIs环境下 URL重写
thinkPHP5新版本 隐藏index.php隐藏index.php 都写好了 public 隐藏 独立主机可以直接把根目录指向public下 虚拟主机可以把public下的index.php放到根 ...
- 运用tp5上传图片,并生成缩略图
最近想做个相册,需要用到上传图像,并且考虑到性能问题,还要生成缩略图,就学习下.在网上看了很多大神写的文章,经过各种调试总算出来了,分享下.不好之处,多多指教 ps:运用tp5图片类生成缩略图 ...
- PHP原生写的生成图片缩略图类
PHP原生写的生成图片缩略图类,本文以京东商品图片为例,分别生成三种不同尺寸的图片.调用方法很简单只要传参数高度和宽度,及新图片的名称. 引入缩略图类 include_once 'ImageResiz ...
随机推荐
- AT2400 [ARC072B] Alice&Brown
通过打表后可以发现,当初始石头数 \(|X - Y| \le 1\) 时先手必败否则先手必胜. 我们考虑使用归纳证明这个结论,显然 \((1, 0), (1, 1)\) 时是成立的. 基于观察,我们可 ...
- 密码学之PRP/PRF转换引理
本文将介绍密码学中的PRF.PRP等相关概念,并介绍 PRP/PRF 转换引理及其证明,希望读完本文后,你能对现代密码学中这几个基础概念有所了解. 在开始本文前,希望你有如下预备知识: 现代密码学是怎 ...
- 对于fetch的理解
在一篇文章里见到一位作者是这么说的 XMLHttpRequest 是一个设计粗糙的 API,不符合关注分离(Separation of Concerns)的原则,配置和调用方式非常混乱,而且基于事件的 ...
- 关于CALayer的疑惑
- php函数(parse_str()
parse_str()函数 把查询字符串解析到变量中 parse_str(string, array); string 规定要解析的字符串 array 存储变量的数组名称 例子: <?php p ...
- c++ 拷贝构造函数、拷贝运算符、析构函数
拷贝构造函数.拷贝运算符.析构函数 拷贝构造函数.拷贝运算符.析构函数 定义行为像值的类 class HasPtr{ public: HasPtr(const string &s = stri ...
- EMNLP 2017 | Sparse Communication for Distributed Gradient Descent
通过将分布式随机梯度下降(SGD)中的稠密更新替换成稀疏更新可以显著提高训练速度.当大多数更新接近于0时,梯度更新会出现正偏差,因此我们将99%最小更新(绝对值)映射为零,然后使用该稀疏矩阵替换原来的 ...
- 《从零开始, 开发一个 Web Office 套件》系列博客目录
这是一个系列博客, 最终目的是要做一个基于HTML Canvas 的, 类似于微软 Office 的 Web Office 套件, 包括: 文档, 表格, 幻灯片... 等等. 对应的Github r ...
- Session、Session共享、Token演变
巨人的肩膀 深夜,我偷听到程序员要对session下手-- (qq.com)
- 使用ensp模拟器中的防火墙(USG6000V)配置NAT(网页版)
使用ensp模拟器中的防火墙(USG6000V)配置NAT(网页版)一.NAT介绍NAT(Network Address Translation,网络地址转换):简单来说就是将内部私有地址转换成公网地 ...