微信扫一扫打赏支持

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');

 

posted @ 2018-03-19 01:42  范仁义  阅读(551)  评论(0编辑  收藏  举报