一、分页

示例代码:

//装载类文件
$this -> load -> library('pagination'); $controller = $this->router->fetch_class();
$action = $this->router->fetch_method(); //每页显示10条数据,共有101条数据
$config['base_url'] = site_url("$controller/$action");
$config['total_rows'] = 101;
$config['per_page'] = 10;
$config['first_link'] = "首页";
$config['prev_link'] = "上一页";
$config['next_link'] = "下一页";
$config['last_link'] = "最后一页"; //如果setment不是3需要设置,默认为3
$config['uri_segment'] = 3; $this -> pagination -> initialize($config); //偏移量
$offset = intval($this -> uri -> segment(3)); $sql = "SELECT * FROM `TEST` LIMIT $offset," . $config['per_page']; $pager = $this -> pagination -> create_links(); $this -> load -> view('article/index', array('pager' => $pager, 'sql' => $sql));

需要注意的是,如果配置了url中隐藏index.php,在site_url中生成的路径中默认还是有index.php,需要在application/config/config.php中改成如下配置:

$config['index_page'] = '';

即可。

二、文件上传

示例代码:

//目录需要手动创建
$config['upload_path'] = './uploads/';
$config['allowed_types'] = "gif|png|jpg|jpeg";
$config['max_size'] = 512;
$config['file_name'] = uniqid(); $this -> load -> library('upload', $config);
//pic为input type=file的name
$this -> upload ->do_upload('pic'); //上传文件信息
$uploadInfo = $this -> upload -> data();
var_dump($uploadInfo);
/*
array (size=14)
'file_name' => string '55a61d04e96f4.jpg' (length=17)
'file_type' => string 'image/jpeg' (length=10)
'file_path' => string 'E:/wamp/www/citest/uploads/' (length=27)
'full_path' => string 'E:/wamp/www/citest/uploads/55a61d04e96f4.jpg' (length=44)
'raw_name' => string '55a61d04e96f4' (length=13)
'orig_name' => string '55a61d04e96f4.jpg' (length=17)
'client_name' => string 'hk.jpg' (length=6)
'file_ext' => string '.jpg' (length=4)
'file_size' => float 125.09
'is_image' => boolean true
'image_width' => int 675
'image_height' => int 900
'image_type' => string 'jpeg' (length=4)
'image_size_str' => string 'width="675" height="900"' (length=24)
*/

即可。

三、session

1、开启

$this -> load -> library('session');

默认已经开启,用上面的代码加载session库。

2、写入

$user = array(
'id' => 3,
'name' => 'jim'
);
$this -> session -> set_userdata("user", $user);

3、读取

$this -> session -> userdata('user')

注:建议在 application/config/config.php 中配置加密key:

$config['encryption_key'] = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx';

四、验证码

示例:

$this->load->helper('captcha');
$vals = array(
//'word' => 'Random word',
'img_path' => './captcha/',
'img_url' => base_url() . 'captcha/',
//'font_path' => './path/to/fonts/texb.ttf',
'img_width' => '200',
'img_height' => 80,
'expiration' => 60,
'word_length' => 10,
'font_size' => 26,
'img_id' => 'Imageid',
'pool' => '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', // White background and border, black text and red grid
'colors' => array(
'background' => array(255, 255, 255),
'border' => array(255, 255, 255),
'text' => array(0, 0, 0),
'grid' => array(255, 40, 40)
)
); $cap = create_captcha($vals);
var_dump($cap);
/*
array (size=4)
'word' => string 'hFan3NM4xB' (length=10)
'time' => float 1436954914.3053
'image' => string '<img id="Imageid" src="http://localhost/citest/captcha/1436954914.3053.jpg" style="width: 200; height: 80; border: 0;" alt=" " />' (length=129)
'filename' => string '1436954914.3053.jpg' (length=19)
*/
echo $cap['image'];

注意:需要手动创建存放验证码的文件夹,验证码图片会在超时后自动删除。

CodeIgniter学习笔记五:分页,文件上传,session,验证码的更多相关文章

  1. [原创]java WEB学习笔记49:文件上传基础,基于表单的文件上传,使用fileuoload 组件

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  2. PHP学习笔记--文件目录操作(文件上传实例)

    文件操作是每个语言必须有的,不仅仅局限于PHP,这里我们就仅用PHP进行讲解 php的文件高级操作和文件上传实例我放在文章的最后部分.--以后我还会给大家写一个PHP类似于网盘操作的例子 注意:阅读此 ...

  3. PHP学习笔记 02 之文件上传

    我们了解了表单传值后,这些我就可以完成PHP的文件上传了.我们了解PHP文件上传前,先了解PHP文件上传的原理. 一.PHP上传文件原理 第一步:将本地的文件通过form表单上传到服务器的临时目录中, ...

  4. (转载)JavaWeb学习总结(五十)——文件上传和下载

    源地址:http://www.cnblogs.com/xdp-gacl/p/4200090.html 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传 ...

  5. struts2学习笔记之十:文件上传

    Struts2的上传 1.Struts2默认采用了apache commons-fileupload 2.Struts2支持三种类型的上传组件 3.需要引入commons-fileupload相关依赖 ...

  6. JavaWeb学习总结(五十)——文件上传和下载

    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...

  7. SpringMVC学习总结(五)——SpringMVC文件上传例子

    这是用的是SpringMVC-3.1.1.commons-fileupload-1.2.2和io-2.0.1 首先是web.xml <?xml version="1.0" e ...

  8. Kali学习笔记38:文件上传漏洞

    早些年,提到Web渗透,或者搜索一些黑客教程 基本都会看到文件上传漏洞. 它是一个很经典的漏洞 但它本质其实不是一个漏洞,而是网站本身的上传文件功能 不过如果我们上传了Webshell,那么就成为了文 ...

  9. SpringMVC学习笔记八:文件上传下载(转)

    转自:http://www.cnblogs.com/WJ-163/p/6269409.html 一.关键步骤 ①引入核心JAR文件 SpringMVC实现文件上传,需要再添加两个jar包.一个是文件上 ...

  10. SpringBoot学习笔记(8)-----SpringBoot文件上传

    直接上代码,上传文件的前端页面: <body> <form action="/index/upload" enctype="multipart/form ...

随机推荐

  1. 使用dao时,如何同时使用动态表名和过滤字段?

    使用dao时,如何同时使用动态表名和过滤字段?  发布于 630天前  作者 wukonggg  316 次浏览  复制  上一个帖子  下一个帖子  标签: 无 如题.求样例代码 1 回复 wend ...

  2. 如何迅速掌握并提高linux运维技能(收藏文)

    如何迅速掌握并提高linux运维技能   文章来源于南非蚂蚁   之前曾经写过一篇如何学习Linux的文章,得到了很多反馈,大家都在分享自己的学习经验和体会,并且也提出了不少意见和建议.学习这个事情其 ...

  3. skimage.io.imread vs caffe.io.load_image

    这两周在跑一个模型,我真的是被折腾的要崩溃了. 最后原因就是数据类型的问题,你说是不是应该管小黑屋啊. skimage.io.imread得到的是uint8的数据,而caffe.io.load_ima ...

  4. python中的反斜杠问题

    python本身使用 \ 来转义一些特殊字符,比如在字符串中加入引号的时候 s = 'i\'m superman' print(s) # i'm superman 为了防止和字符串本身的引号冲突,使用 ...

  5. 2.Mysql集群------Mycat读写分离

    前言: Mycat: 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务.ACID.可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群 一 ...

  6. DECODE函数简介

    在上一篇bolg中讲到ORACLE优化的时候提到DECODE()函数,以前自己用的也比较少,上网查了一下,还挺好用的一个函数,写下来希望对朋友们有帮助哈! https://www.cnblogs.co ...

  7. ES6学习(三):数组的扩展

    chapter08 数组的扩展 8.1 扩展运算符 8.1.1 扩展运算符的含义 ... 如同rest运算符的逆运算,将一个数组转换为用逗号分隔的参数序列. console.log(...[1, 2, ...

  8. 远程桌面连接失败,提示CredSSP加密Oracel修正问题解决

    今天远程桌面的时候失败了,出现以下提示 于是上网找解决办法,经过测试,该方法是可行的. 首先,在控制台中输入regedit,打开注册表

  9. Spring Cloud 入门 Eureka-Client服务提供

    前面文章介绍了如果创建“服务注册中心”,现在创建“服务提供者”,并向服务注册中心注册自己,在服务提供方中尝试着提供一个接口来获取当前所有的服务信息. 先,创建一个基本的Spring Boot应用.命名 ...

  10. 实现BX的内容加上123 并把和送到寄存器AX

    ① 一条指令 ] ②两条指令 MOV AX,BX Tips: LEA指令与MOV指令的区别: ① MOV指令是 数据        传送指令-------传送数据 LEA指令是   有效地址 传送指令 ...