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(,) ----“:”相减返回小时:分钟 -- ...
随机推荐
- XML之Schema
前面学习了DTD.相同我们有了一套更完好的定义法则-Schema. 以下环绕Schema是什么.为何用以及怎么用谈谈自己的感受. XML Schema是基于XML的DTD替代者. XML Schema ...
- Python MySQLdb 使用utf-8 编码插入中文数据
参考地址:http://blog.csdn.net/dkman803/article/details/1925326/ 本人在使用python,mysqldb操作数据库的时候,发现如下问题,编码如下: ...
- 解决window10系统电脑插入耳机之后没有声音的问题
其实办法也是从百度百科上查到的 ⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄ 可能是因为自己某个不小心的操作更改了设置 1. 首先要点开设置按钮,在搜索栏输入控制面板 (当然知道控制面板在哪里的小伙伴就不用 ...
- SQL Server事务详解
事务定义: 事务是单个的工作单元.如果某一事务成功,则在该事务中进行的所有数据更改均会提交,成为数据库中的永久组成部分.如果事务遇到错误且必须取消或回滚,则所有数据更改均被清除. 事务三种运行模式: ...
- atitit.atiLinq v2新特性attilax大总结 q326
atitit.atiLinq v2新特性attilax大总结 q326 1. V3规划 (分开sql2obj sql2sql sql2xml)1 2. V2新特性 Url linq的定义1 3. V1 ...
- jquery的val()
jQuery 属性操作 - val() 方法 jQuery 属性操作参考手册 实例 设置输入域的值: $("button").click(function(){ $(": ...
- docker的使用02
自定义容器名称: docker run --name -i -t ubuntu /bin/bash docker ps -a 数据卷的使用 数据卷其实就是容器和宿主机目录之间的映射. 具体实现: su ...
- Goole Python 风格指南 中文版
http://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/
- c++ virtual 和 pure virtual的区别
参考资料: http://stackoverflow.com/questions/1306778/c-virtual-pure-virtual-explained 验证代码: #include < ...
- JSON串常用函数
1.JSON.parse() parse 用于从一个字符串中解析出json 对象. 例如 var str='{"name":"cpf","age&qu ...