CodeIgniter学习笔记 Item6--CI中的常规主题_ci中parent __construct();

$route['default\_controller'] = 'welcome';
$route['404\_override'] = '';

更重要的功能是,如果我们要实现通过/index.php/news/4.html访问/index.php/article/show/1这样一个需求,可以在routes.php定义路由关系,将原始的URL转换成需要样式

$route['news/([\d]+)\.html] = 'article/show/$1';

这样对于所有负责正则表达式的URL,都会路由到新的路径,其中$1表示正则表达式中的第一个
用()括起来的部分

4.CI中的分页

首先加载分页类

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

然后设置分页属性

// 每页显示的数量
$config['page\_size'] = 10;
// 总数据量
$config['total\_rows'] = 200;
// 设置分页跳转页面的基础地址
$config['base\_url'] = site_url('index.php/user/test');
// 设置分页显示文字
$config['first\_link'] = '首页';
$config['next\_link'] = '下一页';
$config['prev\_link'] = '上一页';
$config['last\_link'] = '末页';

初始化分页类

$this->pagination->initialize($config);

创建链接并传递给视图

$data['links'] = $this->pagination->create\_links();
$this->load->view('test', $data);

通过URL获取偏移量拼装查询

$offset = (int)$this->load->uri->segment(3);
$sql = "SELECT \* FROM blog\_user limit $offset, $page\_size";

5.CI中的文件上传

首先通过控制器的方法跳转至视图

public function file()
{$this->load->helper('url');$this->load->view('file');
}

在视图中创建一个表单用于选择并上传文件

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body><form action="<?php echo site\_url('index.php/user/upload'); ?>" method="post" enctype="multipart/form-data"><input type="file" name="pic" /><input type="submit" name="submit" value="submit"></form>
</body>
</html>

其中,要注意第一个input的name属性,这个属性后面要用,在表单中将action设置为一个控制器方法,编写对应的控制器方法

public function upload()
{// 上传文件到服务器目录$config['upload\_path'] = './upload';// 允许上传哪些类型$config['allowed\_types'] = 'gif|png|jpg|jpeg';// 上传后的文件名,用uniqid()保证文件名唯一$config['file\_name'] = uniqid();// 加载上传库$this->load->library('upload', $config);// 上传文件,这里的pic是视图中file控件的name属性$result = $this->upload->do_upload('pic');// 如果上传成功,获取上传文件的信息if ($result) {var_dump($this->upload->data());}
}

这样就完成文件上传了

6.CI中的Session

CI默认没有启动Session,而是用Cookie代替Session,首先Cookie只能保存4KB的数据,其次,在Session中保存数据马上就可以获取到,而Cookie中的数据要等到下次客户端请求时才能获取到。

首先加载Session类

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

然后通过set_userdata方法以键值对或关联数组的方式保存数据

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

用userdata方法获取数据

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

用unset_userdata方法删除数据

$this->session->unset_userdata('user');

如果要保存的数据只需要用一次,可以使用闪出数据,这种数据只对下次服务器请求可用,然后会自动清除,闪出数据用set_flashdata()方法设置

$this->session->set_flashdata('user', $user);

7.CI中的验证码

首先需要在入口文件的同级目录文件夹用于保存验证码图片,比如新建captcha目录

加载captcha辅助类

$this->load->helper('captcha');

常用的JavaScript设计模式

  • 单体模式

  • 工厂模式

  • 例模式

函数

  • 函数的定义

  • 局部变量和全局变量

  • 返回值

  • 匿名函数

  • 自运行函数

  • 闭包

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/34262.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

正向代理与反向代理:深入解析与实例讲解

代理服务器是一种网络实体&#xff0c;它充当客户端与服务器之间的中介&#xff0c;负责转发请求和响应。代理服务器可以根据其使用方式和功能的不同&#xff0c;分为正向代理和反向代理。 转转的面试中问到了正向代理和反向代理。所以本篇文章将详细解析这两种代理方式&#…

产品干货 | 如何通过Power Platform快速创建自定义连接器,让开发集成更简单

引言 Introduction&#xff1a; 最近&#xff0c;微软推出了许多新产品功能。迅易科技作为微软13年来紧密的生态合作伙伴&#xff0c;为300行业头部客户实施1000项目。为此&#xff0c;我们总结了多年的项目经验且产品学习心得&#xff0c;邀请了迅易技术专家为大家持续分享微软…

如何自己录制教学视频?零基础也能上手

随着在线教育的蓬勃发展&#xff0c;录制教学视频成为了教师和教育工作者们不可或缺的一项技能。无论是为了远程教学、课程分享还是知识普及&#xff0c;教学视频的录制都变得愈发重要。可是如何自己录制教学视频呢&#xff1f;本文将介绍两种录制教学视频的方法&#xff0c;这…

linux绝对路径与相对路径区别简述

绝对路径与相对路径定义 绝对路径&#xff1a;相对于根路径&#xff0c;只要文件不移动位置&#xff0c;那么它的绝对路径是永恒不变的 相对路径&#xff1a;相对于当前所在目录而言&#xff0c;当前所在的目录可能会改变&#xff0c;所以相对路径不是固定的 路径&#xff…

Availability

译文&#xff1a; #ifndef __AVAILABILITY__ #define __AVAILABILITY__ /* 这些宏都是用在头文件种。它们是作用于和系统版本有关的函数声明或者函数&#xff0c;如果它们是可用的就标示它们首次有效的方法&#xff1b;或者被抛弃的函数。 MAC OS 和_IOS_ 有不同的版本号&…

uniapp小程序button按钮去掉黑色线条

文章目录 导文去除方法 导文 在uniapp的button按钮中有一个莫名其妙的黑色线条 去除方法 button::after{border: none; }该问题并不是所有的手机机型都有&#xff0c;最好添加一下&#xff0c;以防用户手机端样式有问题。 您好&#xff0c;我是肥晨。 欢迎关注我获取前端学习…

Google浏览器快捷方式固定到任务栏启动被其他网页劫持

场景复现 1、Google浏览器设置启动时继续浏览上次打开的网页 2、先浏览CSDN网站&#xff0c;然后关闭Google浏览器 3、再次打开Google浏览器时&#xff0c;除了显示我们上次浏览的CSDN网页外&#xff0c;还默认打开了百度网页 解决办法 1、在Google浏览器中新建标签页&am…

hexo 实战:(三)独立博客运营总结

前言 通过前面两个步骤&#xff0c;完成了静态博客从搭建到基本功能添加和界面优化。那么&#xff0c;这次就要介绍一下搭在 GitHub 上的静态博客如何运营推广。也就是如何让网站被各大搜索引擎收录&#xff1f;如何提高网站权重&#xff0c;提高收录量&#xff1f; 网站收录 …

神经网络 #数据挖掘 #Python

神经网络是一种受生物神经元系统启发的人工计算模型&#xff0c;用于模仿人脑的学习和决策过程。它由大量互相连接的节点&#xff08;称为神经元&#xff09;组成&#xff0c;这些节点处理和传递信息。神经网络通常包含输入层、隐藏层&#xff08;可有多个&#xff09;和输出层…

2024版 空间杜宾模型和检验代码+结果解释

空间误差、空间滞后、空间杜宾模型&#xff0c;筛选过程 莫兰指数&#xff0c;LM检验&#xff0c;LR检验&#xff0c;WALD检验&#xff0c;代码&#xff0c;及解释用法 空间溢出直接效应间接效应等等空间计量全过程。 原文链接https://mp.weixin.qq.com/s?__bizMzUyNzczMTI4…

旋转机械振动信号特征提取(Python)

前缀 &#xff1a;将一维机械振动信号构造为训练集和测试集&#xff08;Python&#xff09; https://mp.weixin.qq.com/s/DTKjBo6_WAQ7bUPZEdB1TA import pandas as pd import numpy as np import scipy.io as sio import statistics_hamming from statistics_hamming import…

掌握这些 Windows 截图工具:猫头虎带你解析 ShareX、PicPick、FastStone 和 Snagit

掌握这些 Windows 截图工具&#xff1a;猫头虎带你解析 ShareX、PicPick、FastStone 和 Snagit 前言 在日常办公、学习和内容创作中&#xff0c;截图是我们经常需要用到的功能。然而&#xff0c;面对各种不同的截图需求&#xff0c;如全屏截图、区域截图、滚动截图等&#xf…

被年轻人买爆的转运能量石,戴一天竟等于拍千次胸片?

离谱的事年年有&#xff0c;这几年可以说非常多&#xff01;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ 尤其是这届年轻人&#xff0c;不知道什么时候开始&#xff0c;越来越迷信了&#xff01; 比如去年很…

[word] word设置上标快捷键 #学习方法#其他#媒体

word设置上标快捷键 办公中&#xff0c;少不了使用word&#xff0c;这个是大家必备的软件&#xff0c;今天给大家分享word设置上标快捷键&#xff0c;希望在办公中能帮到您&#xff01; 1、添加上标 在录入一些公式&#xff0c;或者是化学产品时&#xff0c;需要添加上标内容…

华为数通——链路聚合

链路聚合&#xff1a;又称为端口汇聚&#xff0c;是指两台交换机之间在物理上将两个或多个端口连接起来&#xff0c;将多条链路聚合成一条逻辑链路&#xff0c;从而增大链路带宽&#xff0c;多条物理链路之间能够相互冗余。 作用&#xff1a;增加链路带宽&#xff0c;同时提供…

小红书官方教程:如何在小红书上打造IP

在小红书这个五彩斑斓的社区里&#xff0c;打造一个成功的IP就像是种下一颗种子&#xff0c;看着它慢慢发芽&#xff0c;开花结果。今天&#xff0c;就让我们来聊聊如何在小红书上打造一个让人眼前一亮的个人品牌。 首先&#xff0c;什么是IP&#xff1f;IP&#xff0c;也就是…

0620,0621,0622,结构体,动态数组,链表(面试题)

目录 第九章&#xff08;结构体和枚举&#xff09;第十章&#xff08;指针的高级运用&#xff09;链表思维导图 作业1&#xff1a;结构体相关 解答&#xff1a; 答案&#xff1a; 作业2&#xff1a;简答题&#xff08;动态分配内存相关&#xff09; 解答&#xff1a; 答…

邮件群发推送的方法技巧?有哪些注意事项?

邮件群发推送的策略如何实现&#xff1f;邮件推送怎么评估效果&#xff1f; 电子邮件营销是现代企业进行推广和沟通的重要工具。有效的邮件群发推送不仅能提高客户参与度&#xff0c;还能促进销售增长。AokSend将探讨一些关键的邮件群发推送方法和技巧&#xff0c;以帮助企业优…

C# Web控件与数据感应之数据返写

目录 关于数据返写 准备视图 范例运行环境 ControlInducingFieldName 方法 设计与实现 如何根据 ID 查找控件 FindControlEx 方法 调用示例 小结 关于数据返写 数据感应也即数据捆绑&#xff0c;是一种动态的&#xff0c;Web控件与数据源之间的交互&#xff0c;数据…

element-ui table使用type=‘selection‘复选框全禁用-全选禁用_elementui table禁用全选

问题点&#xff1a;当条件数据全被禁用时&#xff0c;全选按钮不是禁用的状态。 复选框全被禁用时&#xff0c;全选按钮将被隐藏 问题总结&#xff1a; 当条件数据全被禁用时&#xff0c;全选按钮也变成禁用的状态&#xff0c;而不是隐藏。有会做的小伙伴希望跟帖。谢谢&#x…