<?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);
?> 在编写多进程的实例中我在每个进程中使用如下代码://调用等待信号的处理器 while (true) { pcntl_signal_dispatch(); }开启5个进程,cpu直接100%修正之后的代码://调用等待信号的处理器 while&...
自己的composer已经发布到packagist,但是无法使用composer require easy-task/easy-task来安装,只能在配置文件使用如下方式安装:"require": { "easy...
为什么使用队列?因为pop取队列具有原子性。假如我们需要秒杀一个商品id,我们先将商品的库存保存到一个队列。例如:<?php $redis = new Redis(); $redis->connect('127.0.0.1', 6...
在正式介绍前先抛出一段代码:<?php //输入的密码 $password = empty($_POST['password']) ? 0 : $_POST['password']; //设置的密码...
【一】.无锁场景:多个人购买一件商品,库存减少。商品表:主键 商品名 库存数量 id name stock 1&nb...
安装php-redis扩展提示No releases available for package我直接去php官网下载redis扩展.tgz文件,然后直接用pecl安装本地文件pecl install ./redis.tgz...