zoukankan      html  css  js  c++  java
  • 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:AppServwww p5applicationconfig.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');

  • 相关阅读:
    Eclipse / android studio 添加第三方jar包 步骤
    Android checkbox 自定义点击效果
    Android 程序打包和安装过程
    Android 基础
    (转)Genymotion安装virtual device的“unable to create virtual device, Server returned Http status code 0”的解决方法
    (转)eclipse 导入Android 项目 步骤
    微信开放平台注册 步骤
    Android Studio 初级安装
    数组
    作用域问题代码
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/8598687.html
Copyright © 2011-2022 走看看