首页 > 代码库 > php学习笔记:利用gd库生成图片,并实现随机验证码
php学习笔记:利用gd库生成图片,并实现随机验证码
说明:一些基本的代码我都进行了注释,这里实现的验证码位数、需要用的字符串都可以再设置。有我的注释,大家应该很容易能看得懂。
基本思路:
1.用mt_rand()随机生成数字确定需要获取的字符串,对字符串进行拼接(觉得生成的验证码觉得有点太挤,大家可以再字符串中间拼接个空格键),实现随机验证码;
备注:建议大家用mt_rand(),而不是rand(),前者效率更高
2.利用gd库生成图片,把随机字符串写到图片输出。
效果:
每次刷新,都生成一个随机验证,后期我可能还会补充怎么实现随机码点击图片就再次更新
代码:
<?php// 创建画布$width = 120; // 规定画布的宽高$height = 45;$image = imagecreatetruecolor($width, $height); // 创建一幅真彩色图像// 添加一些即将用到的颜色$white = imagecolorallocate($image, 0xf2, 0xec, 0xe0);$orange = imagecolorallocate($image, 0xff, 0xa5, 0x4c);// 对画布背景填充颜色imagefill($image, 0, 0, $white);//mt_rand 获取随机数 mt_rand(min, max); function str_rand(){ $str="abcdefghijkmnpqrstuvwxyz0123456789ABCDEFGHIGKLMNPQRSTUVWXYZ"; $rand=""; for($i=0; $i<5; $i++){//获取5个随机的字符串 $rand .= $str[mt_rand(0, strlen($str)-1)]; //如:随机数为30 则:$str[30] } return $rand; }$verifyCode=str_rand();// 画一串字符串在画布上imagestring($image, 10, 10, 10, "$verifyCode", $orange);// 通知浏览器输出的是图像(png类型)header(‘Content-Type: image/png‘);// 输出到浏览器imagepng($image);// 释放图像资源
php学习笔记:利用gd库生成图片,并实现随机验证码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。