<?php
//高先生简单验证码.
//随机数
//为什么循环0-15的数字
//因为要实现最简单的字母和数字混搭
//16进制0-9 a-f
//dechex 十进制转换为16进制
//创建一个四位的验证码.
//$nmsg. 将每次循环的值累计起来
for($i=0;$i<4;$i++){
$nmsg.= dechex(mt_rand(0,15));
}
//验证码数组准备完成,开始绘图
ob_clean();
//设定标头.告诉浏览器你要生成的MIME类型
header('Content-type:image/png');
//创建一个图形区域.赋值给资源句柄
$im=imagecreatetruecolor(75,25);
//在空白的图像区域绘制填充背景
$blue=imagecolorallocate($im,0,102,255); //颜色1 背景
$white=imagecolorallocate($im,255,255,255); //颜色2 文字
imagefill($im,0,0,$blue); //填充颜色
//生成文本信息.将验证码的字符串写入图片.
imagestring($im,5,18,5,$nmsg,$white);
//输出最终图形
imagepng($im);
//清除占用的资源
imagedestroy($im);
?> header() 函数向客户端发送原始的 HTTP 报头。(官方解释)通俗的讲header函数将参数中的字符串作为服务端的响应头来返回给客户端。什么是服务端的响应头?打开谷歌浏览器看看network中的请求response header信息即可。更多的参数百度response header即可浏览器...
重构框架的时候想要考虑支持下cli模式,于是参考了thinkphp的底层。/** * 获取应用根目录 * @return string */ public static function getRootP...
【一】.介绍session由于HTTP是无状态的请求,创建一个会话需要保持必须需要身份标识。当用户第一次访问,PHP会为用户创建一个唯一的sessionid,并将sessionid通过cookie发送给浏览器,并在服务器的临时文件创建一个以sessionid为名的文件用来保存这个sessionid保...
Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分,发布者(publisher),订阅者(subscriber)和频道(channel)。 发布者和订阅者都是Redis客户端,Channel则为Redis服务器端,发布者将消息发送到某个的频道,订阅了这个...
当我想在一个进程中监听kill 和 kill -9命令报了这个错误。//监听kill pcntl_signal(SIGTERM, function () { posix_kill(0, SIGTERM); });...
在使用ftok生成ipc进程通信key尝试将第二个参数项目标识符传入字符串报错:PHP Warning: ftok(): Project identifier is invalid,查阅资料发现第二个字符串只能是1个字符串,长度为1....