CodeIgniter框架——函数(时间函数、装载函数)剖析+小知识点
连接数据库:
格式: mysql -h主机地址 -u用户名-p用户密码
数据库的提示符:mysql>
退出数据库:
exit(回车)
知识点积累:
1、date_default_timezone_set — 设定用于一个脚本中所有日期时间函数的默认时区
格 式:bool date_default_timezone_set ( string $timezone_identifier
)
参 数:timezone_identifier,时区标识符,例如UTC或Europe/Lisbon。合法标识符列表见所支持的时区列表。
返回值:如果 timezone_identifier
参数无效则返回 FALSE
,否则返回 TRUE
。
2、date_default_timezone_get — 取得一个脚本中所有日期时间函数所使用的默认时区
格式:string date_default_timezone_get ( void )
返回值:返回一个string。
3、time— 返回当前的 Unix 时间戳
格式:int time ( void )
返回值:返回自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数。
4、date— 格式化一个本地时间/日期
格式:string date ( string $format
[, int $timestamp
] )
参数:format - 必需。规定时间戳的格式。
timestamp- 可选。规定时间戳。默认是当前时间和日期。
注释:时间戳是一种字符序列,它表示具体事件发生的日期和事件。
下面列出了一些常用于日期的字符:
d - 表示月里的某天(01-31)
m - 表示月(01-12)
Y - 表示年(四位数)
1 - 表示周里的某天
其他字符,比如 "/", "." 或 "-" 也可被插入字符中,以增加其他格式。
下面的例子用三种不同方法格式今天的日期:
<?php
echo "今天是 " . date("Y/m/d") . "<br>";
echo "今天是 " . date("Y.m.d") . "<br>";
echo "今天是 " . date("Y-m-d") . "<br>";
echo "今天是 " . date("l");
?>
下面是常用于时间的字符:
h - 带有首位零的 12 小时小时格式
i - 带有首位零的分钟
s - 带有首位零的秒(00 -59)
a - 小写的午前和午后(am 或 pm)
下面的例子以指定的格式输出当前时间:
<?php
echo "现在时间是 " . date("h:i:sa");
?>
通过 PHP mktime() 创建日期
date() 函数中可选的时间戳参数规定时间戳。如果您未规定时间戳,将使用当前日期和时间(正如上例中那样)。
mktime() 函数返回日期的 Unix 时间戳。Unix时间戳包含Unix纪元(1970 年 1 月 1 日 00:00:00 GMT)与指定时间之间的秒数。
语法:mktime(hour,minute,second,month,day,year)
通过 PHP strtotime() 用字符串来创建日期
PHP strtotime() 函数用于把人类可读的字符串转换为 Unix 时间。
语法:strtotime(time,now)
实例:
<?php
$d=strtotime("tomorrow");
echo date("Y-m-d h:i:sa", $d) . "<br>";
$d=strtotime("next Saturday");
echo date("Y-m-d h:i:sa", $d) . "<br>";
$d=strtotime("+3 Months");
echo date("Y-m-d h:i:sa", $d) . "<br>";
?>
跨站脚本过滤:
$data = $this->input->xss_clean($data);
Note:此功能只应该处理提交的数据。而不应该用于其它情况,因为它要消耗很大的cpu资源。
CodeIgniter 有3个 helper方法可以让用户取得POST, COOKIE 或 SERVER 的内容,如下所示:
(1)$this->input->post()
格式:$this->input->post('some_data', TRUE);
参数:第一个参数是所要取得的post中的数据,如果数据不存在,方法将返回 FALSE (布尔值)。第二个参数是可选的,如果想让取得的数据经过跨站脚本过滤(XSS Filtering),把第二个参数设为TRUE。
扩展:$this->input->get('some_data', TRUE);用来取得GET数据。
$this->input->get_post('some_data', TRUE);先搜索POST数据、后搜索GET数据。
(2)$this->input->cookie()
(3)$this->input->server()
6、装载类
装载,顾名思义,是用来装载元素。这些元素可以是库 (类) 视图文件, 辅助函数, 模型, 或者是你自己的文件。
(1)$this->load->vars('$array');
说明:这个函数以一个关联数组作为输入参数,将这个数组用PHP的extract函数,转化成与这个数组对应的变量 。你之所以要单独用这个函数也许是因为,你想在控制器的构造函数中设置一些全局变量,以使这些变量在任意函数调用的视图(view)里能够用上。你能多次调用这个函数。数组数据被缓存并被并入一个数组,用来转化成变量。
(2)$this->load->helper('file_name');
说明:这个函数的作用是载入辅助函数,file_name 是辅助函数对应的文件名,不包括 _helper.php 扩展名。
(3)$this->load->library('class_name',$config,'object name');
说明:这个函数是用来加载核心类。
class_name是你要加载的类的名称。提示: “类”和“库”是可替换使用的。
比如,你想用 CodeIgniter 来发送邮件,第一步就是在你的控制器里加载 email 类。
$this->load->library('email');
一旦被加载,就可以使用该类了, 使用 $this->email->some_function()。
第二个参数是可选的,作用是允许你有选择性地传递配置参数。一般来说你可以将参数以数组的形式传递过去。配置参数通常也可以保存在一个配置文件中。
$config = array (
'mailtype' => 'html',
'charset' => 'utf-8,
'priority' => '1'
);
$this->load->library('email', $config);
第三个参数也是可选的,如果为空,类库通常就会被赋值给一个与类库同名的对象。例如,如果类库名为 Session, 它将会被赋值给一个名为 $this->session 的变量。如果你希望使用你的自定义名称,你可以通过第三个参数把它传递过去。
$this->load->library('session', '', 'my_session');
// Session 类现在可以通过下面的方式访问:
$this->my_session
(4)$this->load->file('filepath/filename',true/false);
说明:这是一个通用的文件载入函数。在第一个参数中给出文件所在的路径和文件名,对应的文件将会被打开。默认情况下,数据会被发送给浏览器,就如同视图文件一样,但如果你将第二个参数设置为 true (布尔型) 那么数据就会以字符串的形式被返回,而不是发送给浏览器。
(5)$this->load->database('options',true/false);
这个函数的作用是载入数据库类。这两个参数都是可选的。请查看 数据库 段落以获取更多信息。
(6)$this->load->view('filename',$data,true/false);
这个函数是用来加载你的视图文件。
第一个参数是必须的。 指定你要载入的视图文件的名称。 注意: 无需加上 .php 扩展名,除非你使用了其他的扩展名。
第二个参数 optional 允许你传入数组或对象, 传入的数组或对象将使用 php extract 函数导出,你可以在视图中任意使用这些导出的变量。
第三个参数是可选的,作用是改变函数的运行方式,将数据以字符串的形式返回,而不是发送给浏览器。当你希望用不同的方式处理数据时,这个参数就非常有用。如果你将这个参数设置为true (布尔型),函数就会返回数据。这个参数的默认值是 false, 也就是数据将会被发送给浏览器。如果你希望数据被返回,记得要将它赋值给一个变量:
$string = $this->load->view('myfile', '', true);
(7)$this->load->database('model_name');
这个函数是用来载入你的模型文件。
7、URL辅助函数
redirect()函数:
通过发送HTTP头,命令客户端转向到您指定的URL。您既可以指定一个完整的URL,也可以对于站内内容,指定基于网站根目录的相对URL。本函数会自动根据您的配置文件,构造出完整的URL。
你可以设定第二个参数为 location 定位操作(默认)或者 refresh 刷新操作。定位操作比刷新操作执行速度快,但是在Windows服务器上有时会报错。可选的第3个参数允许你发送一个特定的HTTP请求返回码 - 举例来说这可以用来创建303请求重定向来服务于搜索引擎。 默认的请求返回码是302(临时重定向)。第3个参数只使用于'location'重定向,而不是用于'refresh'。范例:
//注意!!一定不要忘了加载 $this->load->helper('url'); if ($logged_in == FALSE)
{
redirect('/login/form/', 'refresh');
} // with 301 redirect
redirect('/article/13', 'location', 301);
注意:由于此函数需要处理header头文件,因此它必须在向客户端输出任何内容之前调用。
注意:如果您想对HTTP头做更细致的设置,您可以使用输出类的 set_header() 函数。
CodeIgniter框架——函数(时间函数、装载函数)剖析+小知识点的更多相关文章
- SqlServer中日期和时间数据类型及函数 【转】
来源:http://blog.csdn.net/royalwzy/article/details/6446075 日期和时间数据类型 下表列出了 Transact-SQL 的日期和时间数据类型. 数据 ...
- MySQL时间戳和时间格式转换函数
MySQL时间戳和时间格式转换函数:unix_timestamp and from_unixtime unix_timestamp将时间转化成时间戳格式.from_unixtime将时间戳转化成时间格 ...
- mysql 时间字段的函数 timestamp
Mysql 里格式 时间字段的函数 DATE_FORMAT unix_timestamp - 墨墨修行的日志 - 网易博客http://jjuanxi.blog.163.com/blog/static ...
- [php基础]Mysql日期函数:日期时间格式转换函数详解
在PHP网站开发中,Mysql数据库设计中日期时间字段必不可少,由于Mysql日期函数输出的日期格式与PHP日期函数之间的日期格式兼容性不够,这就需要根据网站实际情况使用Mysql或PHP日期转换函数 ...
- 你好,C++(28)用空间换时间 5.2 内联函数 5.3 重载函数
5.2 内联函数 通过5.1节的学习我们知道,系统为了实现函数调用会做很多额外的幕后工作:保存现场.对参数进行赋值.恢复现场等等.如果函数在程序内被多次调用,且其本身比较短小,可以很快执行完毕,那么 ...
- Swift - 时间控制器NSTimer(每隔一定时间执行某个函数)
时间控制器NSTimer可以实现定时器功能,即每隔一定时间执行具体函数,可以重复也可以只执行一次. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 cl ...
- [转]详细的mysql时间和日期函数
这里是一个使用日期函数的例子.下面的查询选择了所有记录,其date_col的值是在最后30天以内: mysql> SELECT something FROM table WHERE TO_DAY ...
- Thinkphp3.2.3框架下封装公共的函数,例如封装CURL函数来获取接口数据
当我们需要在控制层调用相同的封装函数时,写多次相同的函数,显得代码十分的拉杂,不精简: TP框架有一个很好的机制,可以再Common定义一个function.php函数,当我们在控制层调用的时候直接调 ...
- mysql加减时间-函数-时间加减
select timediff('23:40:00', ' 18:30:00'); -- 两时间相减 SELECT substring( timediff(,) ----“:”相减返回小时:分钟 -- ...
随机推荐
- spark完全分布式集群搭建
最近学习Spark,因此想把相关内容记录下来,方便他人参考,也方便自己回忆吧 spark开发环境的介绍资料很多,大同小异,很多不能一次配置成功,我以自己的实际操作过程为准,详细记录下来. 1.基本运行 ...
- 在线安装eclipse中html/jsp/xml editor插件 eclipseeditor
1.打开eclipse中的help————>Install New Software 2.点击Add按钮,然后弹出一个框,第一个文本框可以随便写,第二个一定要写: http://download ...
- 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-人机界面如何让文本框可以输入,文本框可以编辑
选中一个文本框,然后在属性中双击输入配置的OnMouseDown事件(也可以是别的事件,但都是通过这种方法) 在左侧点击写变量,然后输入类型改成VisuDialos.Numpad(数字键盘方式), ...
- MPTCP 源码分析(二) 建立子路径
简述 MPTCP在进行三次握手之后,客户端和服务端会进行地址信息的交换,让对方知道彼此未用的地址信息. 当客户端知道服务端的地址后就可以建立其他子路径.三次握手和建立子路径的过程如图1: ...
- HTML 5 中WebStorage实现数据本地存储
webstorage 分sessionStorage和localstorage,sessionStorage是暂时保存,localStorage是永久保存. sessionStorage假设浏览器关闭 ...
- iOS-仿支付宝加载web网页添加进度条
代码地址如下:http://www.demodashi.com/demo/11727.html 目前市场上APP常会嵌入不少的h5页面,参照支付宝显示web页面的方式, 做了一个导航栏下的加载进度条. ...
- lua与c++ 中布尔布bool值对应关系
lua代码返回值为真c++ lua_toboolean 返回一个 int lua true = 1 false = 0 c++给lua返回 lua_pushboolean 1 = true 0 = ...
- 转:EMQTT测试--安装与测试 (windows)
官网 我下载的是windows版 安装 参考 http://emqtt.com/docs/install.html 将下载的压缩包解压,我解压到了D盘 命令行窗口,cd到程序目录 控制台模式启动: . ...
- 水滴状的自己定义视图,让您摆脱单调的Dialog
转载请注明出处:王亟亟的大牛之路 如今各种各样的进度条的呈现方式各种各样,我们老旧的条状条子和转圈圈的方式已经无法满足我们的业务需求,今天亟亟上的是一个水滴状循环滚动的一个自己定义视图.你能够把他用在 ...
- MyTest——边界检测
实现思路如下: Step1:大文件的内存映射,多线程数据读取,加快读取速度. Step2:点云数据预处理(抽希.去噪点). Step3:Step2处理后数据使用kdtree进行离散点排序. Step4 ...