首页 / PHP / 如何在php中生成验证码图片
如何在php中生成验证码图片
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何在php中生成验证码图片,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1590字,纯文字阅读大概需要3分钟。
内容图文
1.获取生成验证码字体: 在php文件路径新建一个fonts
文件夹,里面有字体文件。
//判定字体资源 if(empty($fonts)) $fonts="arial.ttf"; //确认字体路径 $fonts=__DIR__."/fonts/".$fonts; $fonts=str_replace("/","\\",$fonts);
2.制作画布,随机分配背景色
$img=imagecreatetruecolor($width,$height); $bg_color=imagecolordeallocate($img,mt_rand(200,255),mt_rand(200,250)); imagefilter($img,0,0,$bg_color);
3.增加干扰点、线
//增加干扰点:* for($i = 0;$i < 50;$i++) { //随机颜色 $dots_color = imagecolorallocate($img, mt_rand(140,190), mt_rand(140,190), mt_rand(140,190)); //使用*号作为干扰点 imagestring($img, mt_rand(1,5), mt_rand(0,$width), mt_rand(0,$height), '*', $dots_color); } //增加干扰线 for($j = 0;$j < 10;$j++) { //随机线段颜色 $line_color = imagecolorallocate($img, mt_rand(80,130), mt_rand(80,130), mt_rand(80,130)); //随机线段 imageline($img,mt_rand(0,$width),mt_rand(0,$height),mt_rand(0,$width),mt_rand(0,$height),$line_color); }
4.将验证码放入图片
$captcha=array(3,4,'a','i');//可以自己使用写一个方法生成数组; $length=sizeof($captcha); for($i = 0;$i < $length;$i++){ //给每个字符分配不同颜色 $c_color = imagecolorallocate($img, mt_rand(0,60), mt_rand(0,60), mt_rand(0,60)); //增加字体空间、大小、角度显示 imagettftext($img,mt_rand(15,25),mt_rand(-45,45),$width/($length+1)*($i+1),mt_rand(25,$height-25),$c_color,$fonts,$captcha[$i]); }
5.保存图片
imagejpeg($img,"test.jpg",100);
推荐:php视频教程 php教程
以上就是如何在php中生成验证码图片的详细内容。
本文系统来源:https://www.php.cn/php-ask-472462.html内容总结
以上是互联网集市为您收集整理的如何在php中生成验证码图片全部内容,希望文章能够帮你解决如何在php中生成验证码图片所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。