Thinkphp数据分页,文件上传,验证码。

Thinkphp数据分页,文件上传,验证码

这篇文章主要介绍一下Thinkphp中的数据分页,文件上传以及验证码。

数据分页:①分页类和page方法的实现分页

$page=new \Think\Page($count,$pagesize);
  1. Page()中传入总记录数和每页显示的记录数。
  2. 一定要实例化分页类

利用show生成分页链接,分页显示输出

$show=$page->show();

数据分页:②利用Page类和limit方法分页

$Page = new \Think\Page($count,25);// 实例化分页类 传入总记录数和每页显示的记录数(25)
$show = $Page->show();// 分页显示输出
// 进行分页数据查询 注意limit方法的参数要使用Page类的属性
$list = $User->where('status=1')->order('create_time')->limit($Page->firstRow.','.$Page->listRows)->
select();

分页样式定制:

分页类Page提供了一个setConfig方法来修改默认的一些设置

$page->setConfig('header','');
$page->setConfig('prev','上一页');
$page->setConfig('next','下一页');
$page->setConfig('first','首页');
$page->setConfig('last','末页');
$page->setConfig('theme','%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%');

另外setConfig方法支持的属性包括:


这样我们可以对输出的分页样式进行定制。显示位置的对应的关系为:


文件上传:

在文件上传时,表单中首先要添加一个属性

<form action="__URL__/index" enctype="multipart/form-data" method="post" >
	<input type="file" name="photo" />
    <input type="submit" value="提交" >
</form>

使用 Think\Upload 类来上传文件,调用upload函数

$upload = new \Think\Upload();// 实例化上传类
// 上传文件
$info = $upload->upload();//调用upload函数

在上传操作之前,我们可以对上传的属性进行一些设置,Upload类支持的属性设置包括:


上传参数有两种方式一种的动态赋值

$upload = new \Think\Upload();// 实例化上传类
//设置上传的各种参数
$upload->maxSize = 0 ;// 设置附件上传大小
$upload->exts = array('csv');// 设置附件上传类型
$upload->rootPath = './Public/Uploads/'; // 设置附件上传目录
// 上传文件
$info = $upload->upload();//调用upload函数

另一种是实例化传入

$config = array(
'maxSize'=>0,//将maxsize设置为0时,是不限制上传文件大小
'rootPath' => './Public/Uploads/',
);
$upload = new \Think\Upload($config);// 实例化上传类

之后调用upload来上传,失败返回false。

  1. 我们设置的允许文件上传的拓展名为csv。下边来简单说一下csv和excel的区别:
  2. CSV是以逗号间隔的文本文件,XLS是电子表格,包含文本、数值、公式和格式。当不需要公式和格式表格可用CSV格式保存,当需要时则请保存为XLS格式。
  3. 另外excel表导入数据库中需要转换为csv格式,要不然会产生乱码。

单文件上传

upload方法支持多文件上传,有时候,我们只需要上传一个文件,就可以使用Upload类提供的 uploadOne方法上传单个文件:

$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 0 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload->rootPath = './Public/Uploads/'; // 设置附件上传根目录
// 上传单个文件
$info = $upload->uploadOne($_FILES['photo1']);

验证码

Think\Verify类可以支持验证码的生成和验证功能。

生成验证码:

public function yzm(){
    $config = array(
      'fontSize' => 30, // 验证码字体大小
      'length' => 4, // 验证码位数
    );
    $Verify = new \Think\Verify($config);//实例化验证码类
    $Verify->entry();
  }

生成的验证码信息会保存到session中,包含的数据有:①当前验证码的值②生成验证码的时间戳。

如果你需要在一个页面中生成多个验证码的话,entry方法需要传入可标识的信息。

$Verify = new \Think\Verify($config);//实例化验证码类
    $Verify->entry(1);
$Verify = new \Think\Verify($config);//实例化验证码类
    $Verify->entry(2);

验证码参数

我们也可以对生成的验证码进行参数设置:



上传验证码的参数与上传文件的方式一样也有两种方式。可以参照上传文件的参数来上传验证码参数。

验证码也支持支持验证码背景图片功能和使用中文验证码,只要将useImgBg,useZh设置为true就可以了。

$Verify->useImgBg = true;
$Verify->useZh = true;
$Verify->entry();

验证码检测

 check 方法检测验证码的输入是否正确

if (!$verify->check($yzm)) {
            $this->ajaxReturn(array('ret'=>false,'msg'=>"验证码输入不正确"));
            exit;
          }
上边这段代码是来检测如果验证码输入的不正确,则用ajax的方式返回验证码输入不正确。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值