PHP基础篇----笔记-course7时间日期

                                       第七章

时间日期:在程序开发中发挥着重要的作用。

数据的存储和显示都需要时间。

PHP中提供了一系列的内置的时间和日期函数库,

这些函数可以在程序运行时获取所在服务器端的日期和时间,也可以进行格式转换

例如:日期格式-》时间戳

(一)UNIX时间戳:

大多数计算机语言中用来表示时间和日期的一种紧凑简洁的方式。它代表的是从197011日到当前所经过的《秒数》

注意:未来的时间戳大于现在

(二)PHP中常用的时间日期函数

时区:PHP中使用内置日期时间函数时,必须设置默认时区,否则会有警告

/**

 *  设定用于一个脚本中所有日期时间函数的默认时区

 *  支持的时区:Asia/Shanghai

 *  东八区:PRC,获取到北京时间

 */

date_default_timezone_set('PRC');//将当前脚本的默认时区设为东八区

date_default_timezone_set('Asia/Shanghai');

/**

 * 获取系统当前所在的时区

 */

echo date_default_timezone_get();

1.mktime($hour,$minute,$second,$month,$day,$year)取得一个日期的 Unix 时间戳

 (1)PHP5.1之前,当 mktime()函数没有任何参数时,会返回当前的时间戳, 在之后,若没有参数,则会报错。提示使用time()函数来获取当前的时间戳

 (2)该函数返回值是时间戳

返回当前PHP环境的详细信息

echo phpinfo();

2.strtotime('')

(1)可以使用英语的自然语言来创建某个时刻的时间戳

返回值是时间戳

(2)补充:strtotime()参数可以是日期格式

$endtime=strtotime('2017-10-29 11:30:00');

echo strtotime('now')."<br/>";

echo strtotime('+1 day')."<br/>";

echo strtotime('last month');

3.date($format,$timestamp=null)将时间戳转换为更易读懂的日期时间格式

 * $format参数必须的,它规定了如何格式化日期和时间

 * Y:表示年(四位数)

 * m:表示月份(两位数01-12

 * d:表示月份中的某一天(两位数01-31

 * lL的小写字母,表示周里的某天(星期几)

 * h:表示小时(两位数01-12),12小时制

 * H:表示小时,24小时制

 * i:表示分钟

 * s:表示秒(00-59

 * a:表示小写的午前和午后(ampm,大写的A表示(AMPM

 * 分隔符,比如"/""-""."

 * 返回值是日期时间格

echodate("Y-m-d空格h:i:s",strtotime('now'))."<br/>";

4.getdate($timestamp=null)函数

 (1)返回当前本地时间和日期的信息

 (2)返回值是数组

print_r(getdate(1509155660));

/**

 * 向下取整(省略小数位)

 */

echo floor(3.6)."<br/>";

/**

 * 向上取整

 */

echo ceil(3.1);

<meta http-equiv="refresh" content="1">

                  验证码

(1)PHP手册目录-函数参考-图像生成和处理-GD

《细说PHP》第16P386页经典验证码案例

(2)GD库:Graphic Device图像工具库。是PHP处理图形的扩展库

(3)GD库中提供了一系列用来处理图片的APIApplication Programming Interface

(4)使用GD库可以用来生成和处理图片

今天的任务:使用GD库来生成一个验证码图片

第一步:创建一张画布

/**

 * imagecreate($width, $height)函数:

 */

$img=imagecreate(120, 40);

补充

/**

 * rand($min, $max)函数:随机生成$min-$max之间的数

 */

第二步:给画布填充颜色

imagecolorallocate($img,rand(0,255),rand(0,255), rand(0,255));

第三步:在验证码上生成字符

/**

 * imagestring($image, $font, $x, $y, $string, $color)函数:

 * 将字符绘制在图像上

 * 如果 参数font  1234 5,则使用内置字体大小。

 */

使用session技术将随机的验证码字符存放在服务器端

附加步骤:添加干扰素

/**

 * imagesetpixel($image,$x,$y,$color)函数:绘制一个像素

 * $image-图片资源

 * $x-点的横坐标

 * $y-点的纵坐标

 * $color-点的颜色

 */

第四步:输出图像

imagepng($img);//PNG 格式将图像输出到浏览器或文件

 

(1)会话控制:当用户登录某个网站时,可能会浏览多个网页,

(2)会话控制可以实现在不同的页面切换时,记录当前用户的信息,保证用户访问到的是自己的信息

常用的三种会话控制方式:

1)使用header()函数在URL后面以?追加参数的形式

2cookie技术:将用户的状态信息存放在客户端

3session技术:将用户的状态信息存放在服务器端

session使用时:注意:必须要session_start()函数开启!!!

网站中的任何一个页面都可以使用

session创建:$_SESSION预定义数组

session获取:$_SESSION['索引'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值