龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php生成验证码 支持中文 字母 数字混合

时间:2017-10-24 02:03来源:网络整理 作者:网络 点击:
分享到:
php生成验证码 支持中文 字母 数字混合 [代码片段(42行)]
<?php
 //验证码的制作
 //1.生成4位的随机数
 for($i=0;$i<4;$i++){
     $rand.=dechex(rand(1, 15));
 }

 //2.创建图片
 //创建一张图片
 $image=imagecreatetruecolor(100, 30);
 //背景颜色
 $bg=imagecolorallocate($image, 0, 0, 0);
 $te=imagecolorallocate($image, 255,255,255);

 //划线
 for($i=0;$i<4;$i++){
     $lineColor=imagecolorallocate($image, rand(20, 225), rand(20, 225), rand(20, 225));
     imageline($image, rand(0, 100), 0, 100,30, $lineColor);
 }
 //划点
 for($i=0;$i<200;$i++){
     imagesetpixel($image, rand()%100, rand()%100, $lineColor);
 }
 //添加文字
 //编码转换
 $str=iconv("GBK", "UTF-8", "广州GZ");
 imagettftext($image, 12,11, 20, 20, $lineColor, 'simhei.ttf', $str);

 //3.随机数写入图片$font=(1~6)
 imagestring($image, rand(3, 6), rand(3, 70), rand(0, 16), $rand, $te);

 //4.随机数保存在session中
 //启动session
 session_start();
 //把验证码放入session
 $_SESSION[vilidationCode]=$rand;

 header("Content-type: image/jpeg");
 imagejpeg($image);
 ?>
精彩图集

赞助商链接