ThinkPHP5.0框架开发--第11章 TP5.0 杂项
ThinkPHP5.0框架开发--第11章 TP5.0 杂项
第11章 TP5.0 杂项
===============================================
今日学习
1、缓存
a) 缓存的作用:
减少数据库压力
用户交互比较
b) TP对缓存的支持
支持的缓存类型包括file、memcache、wincache、sqlite、redis和xcache。
c) 缓存设置(C:\AppServ\www\tp5\application\config.php)
'cache' => [
// 驱动方式
'type' => 'File',
// 缓存保存目录
'path' => CACHE_PATH,
// 缓存前缀
'prefix' => '',
// 缓存有效期 0表示永久缓存
'expire' => 0,
],
d) 使用
1、设置缓存
Cache::set(名字,值,时间);
cache(名字,值,时间);
# 返回值 如果设置成功 true
# 如果设置失败 false
2、读取缓存
Cache::get(名字);
cache(名字);
# 返回值 如果获取成功 获取到的数据
# 如果获取失败 false
3、删除缓存
Cache::rm('UserData');
cache('UserData',NULL);
# 返回值 删除成功 true
# 删除失败 false
4、清空缓存
Cache::clear();
# 返回值 清空缓存成功 true 否则 false
5、使用缓存
// 从缓存中获取数据
if ($data=cache('UserData')) {
// 如果数据存在
}else{
// 如果缓存中没有数据
$data=Db::table('User')->select();
cache('UserData',$data,20);
}
2、Session
1、设置session
Session::set('name','云知梦');
session('name','100');
2、获取session
Session::get('name');
session('name');
# 返回值 如果获取成功 返回获取到的值 如果失败 NULL
3、判断是否设置
Session::has('name1');
session("?name");
# 返回值 如果存在返回True 如果不存在 false
4、删除session
Session::delete('data');
session('name',null);
# 删除session 无返回值
5、清空session
Session::clear();
session(null);
3、Cookie
1、设置Cookie
Cookie::set('name','云知梦');
Cookie::set('info','云知梦只为有梦想的人',50);
cookie('time','2017-10-25');
cookie('age',5,50);
2、获取Cookie
Cookie::get('name');
cookie('time');
# 获取Cookie 如果成功 返回获取值,如果失败返回NULL
3、判断Cookie
Cookie::has('name');
cookie("?name");
# 判断cookie是否设置,如果设置返回true,如果没有设置返回false
4、删除Cookie
Cookie::delete('name');
cookie('name',null);
5、清空Cookie
Cookie::clear();
cookie(null);
4、分页
1、控制器中如何书写
// 查询数据
// 分页效果
$data=Db::table('user')->paginate(3);
// 简化的分页效果
$data=Db::table('user')->paginate(3,true);
// 分配数据
$this->assign('data',$data);
// 加载页面
return $this->fetch();
2、页面中如何书写
{volist name="data" id="val"}
<tr>
<td>{$val.id}</td>
<td>{$val.name}</td>
<td>{$val.pass}</td>
</tr>
{/volist}
{$data->render()}
5、文件上传
1、页面
<form action="{:url('upload')}" method="post" enctype="multipart/form-data">
<p>
File:
<input type="file" name="file" id="">
</p>
<p>
<input type="submit" value="提交">
</p>
</form>
2、控制器
public function upload(Request $request){
// 接收数据
$file=$request->file('file');
// 进行文件上传
if ($info=$file->move('./upload/')) {
dump($info->getsaveName());
}else{
dump($info->getError());
}
}
6、验证码
1、首先判断系统是否支持验证码
2、使用
1) 页面中
<form action="{:url('check')}" method="post">
<!-- {:captcha_img()} -->
<img src="{:captcha_src()}" alt="">
<input type="text" name="code" id="">
<input type="submit" value="提交">
</form>
2) 判断验证码
$code=input('post.code');
// 判断验证码是否正确
if (captcha_check($code)) {
echo "okokok";
}else{
echo "error";
}
3、验证码相关设置
'captcha'=>[
'codeSet' => '2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY',
// 验证码字符集合
'expire' => 1800,
// 验证码过期时间(s)
'useZh' => false,
// 使用中文验证码
'zhSet' => '们以我',
// 中文验证码字符串
'useImgBg' => false,
// 使用背景图片
'fontSize' => 25,
// 验证码字体大小(px)
'useCurve' => true,
// 是否画混淆曲线
'useNoise' => true,
// 是否添加杂点
'imageH' => 0,
// 验证码图片高度
'imageW' => 0,
// 验证码图片宽度
'length' => 5,
// 验证码位数
'fontttf' => '',
// 验证码字体,不设置随机获取
'bg' => [243, 251, 254],
// 背景颜色
'reset' => true,
// 验证成功后是否重置
]
7、图片处理
1、读取图片
$images=Image::open("./img/c.jpg");
2、获取基本信息
// 宽度
dump($images->width());
// 高度
dump($images->height());
// 类型
dump($images->type());
// 宽和高
dump($images->size());
// mime
dump($images->mime());
3、图片裁剪
crop(100,200,300,350);
// 从(300,350)的位置开始裁剪,裁剪100,200 大小,默认从(0,0)位置开始裁剪
// 裁剪默认从顶点开始裁剪
$images->crop(300,300)->save("./img/cai.jpg");
// 设置裁剪位置
$images->crop(300,300,100,100)->save('./img/cai1.jpg');
4、图片缩放
// 图片缩放 默认是等比例缩放,可以进行设置
// //常量,标识缩略图等比例缩放类型
// constTHUMB_SCALING???=?1
// //常量,标识缩略图缩放后填充类型
// constTHUMB_FILLED????=?2;
// //常量,标识缩略图居中裁剪类型
// constTHUMB_CENTER????=?3;
// //常量,标识缩略图左上角裁剪类型
// constTHUMB_NORTHWEST?=?4;
// //常量,标识缩略图右下角裁剪类型
// constTHUMB_SOUTHEAST?=?5;
// //常量,标识缩略图固定尺寸缩放类型
// constTHUMB_FIXED?????=?6;
$images->thumb(300,300,2)->save('./img/th.jpg');
5、图片翻转
$images->flip()->save("./img/fan.jpg");
6、图片旋转
$images->rotate(180)->save("./img/xuan.jpg");
7、水印
// 图片水印
$images->water("./img/logo.png",5,50)->save("./img/water.jpg");
// 文字水印
$images->text('123',"msyh.ttf",20,"#ff0000")->save('./img/text.jpg');
ThinkPHP5.0框架开发--第11章 TP5.0 杂项的更多相关文章
- ThinkPHP5.0框架开发--第5章 TP5.0 控制器
ThinkPHP5.0框架开发--第5章 TP5.0 控制器 第5章 TP5.0 控制器 ============================================== 上次复习 1.路 ...
- ThinkPHP5.0框架开发--第4章 TP5.0路由
ThinkPHP5.0框架开发--第4章 TP5.0路由 第4章 TP5.0 路由 ================================================== 上次复习 1. ...
- ThinkPHP5.0框架开发--第1章 Tp5.0安装
ThinkPHP5.0框架开发--第1章 Tp5.0安装 第1章 Tp5.0 安装 ======================================================== 今 ...
- ThinkPHP5.0框架开发--第2章 TP5.0架构
ThinkPHP5.0框架开发--第2章 TP5.0架构 第2章 TP5.0架构 ================================================== 上次复习 1.如 ...
- ThinkPHP5.0框架开发--第9章 TP5.0视图和模板
ThinkPHP5.0框架开发--第9章 TP5.0视图和模板 第9章 TP5.0视图和模板 ===================================================== ...
- ThinkPHP5.0框架开发--第8章 TP5.0 模型
ThinkPHP5.0框架开发--第8章 TP5.0 模型 第8章 TP5.0 模型 ================================================= 今日学习 1. ...
- ThinkPHP5.0框架开发--第7章 TP5.0数据库操作
ThinkPHP5.0框架开发--第7章 TP5.0数据库操作 第7章 TP5.0数据库操作 ===================================================== ...
- ThinkPHP5.0框架开发--第6章 TP5.0 请求和响应
ThinkPHP5.0框架开发--第6章 TP5.0 请求和响应 第6章 TP5.0 请求和响应 ===================================== 上次复习 1.新建控制器 ...
- ThinkPHP5.0框架开发--第3章 TP5.0 配置
ThinkPHP5.0框架开发--第3章 TP5.0 配置 第3章 TP5.0 配置 ========================================================= ...
随机推荐
- 痛苦的人生——JRuby on Rails的开发与部署小记
最近单位领导部署了一项开发用户自助服务系统的任务,该任务有且仅有我一人独立完成——哈哈,十分美妙的工作呢. 恰巧楼主最近被Ruby的美妙特性所迷惑,于是义无反顾地投入到Ruby on Rails的怀抱 ...
- h5-news_index
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdcAAABuCAIAAAD6VM6fAAAUEUlEQVR4nO2dfXRTZZ7Hfx735Z/lr9 ...
- 51nod-1363: 最小公倍数之和
[传送门:51nod-1363] 简要题意: 给出一个数n,求出1到n的数与n的最小公倍数的和 多组数据 题解: 理所当然推柿子 原题相当于求$\sum_{i=1}^{n}\frac{i*n}{gcd ...
- 英语发音规则---N字母
英语发音规则---N字母 一.总结 一句话总结: 1.位于词尾的n在m后面时不发音? autumn /'ɔːtəm/ n. 秋天 column /'kɒləm/ n. 纵队 2.在音素/k//g/前面 ...
- Java线程池原理与架构分析
/** * 一.线程池:提供了一个线程队列,队列中保存着所有等待状态的线程.避免了创建与销毁额外开销,提高了响应速度 * 二.线程池的体系结构 * java.util.concurrent.Execu ...
- 淘宝druid报错:javax.management.InstanceNotFoundException: com.alibaba.druid:type=DruidDataSourceStat
问题: 启动tomcat报错: Tomat报出一下异常:ERROR [com.alibaba.druid.stat.DruidDataSourceStatManager] – unregister m ...
- 笔记--js实现异步
<script type="text/javascript"> var xhr=false; function createXhr() { var xhobj = fa ...
- heavy dark--读《《暗时间》》
本书名为<<暗时间>>,个人觉得是一个非常好的名字:1.迷茫的大学生有多少的业余时间,但又浪费多少的业余时间,浪费的这莫多时间就如同人在黑夜中一样,大脑是在休息的状态.这是第一 ...
- 五分钟DBA:浅谈伪分布式数据库架构
[IT168 技术]12月25日消息,2010互联网行业技术研讨峰会今日在上海华东理工大学召开.本次峰会以“互联网行业应用最佳实践”为主题,定位于互联网架构设计.应用开发.应用运维管理,同时,峰会邀请 ...
- mac pro 安装 composer 失败
http://getcomposer.org/doc/00-intro.md#using-composer $ brew install josegonzalez/php/composer 出现错误: ...