未标题-6.png

PHP生成中文验证码并检测对错实例,中文验证码的例子还是比较少的,今天给大家分享一下,支持自定义中文、字体、背景色等

58d415db5523ad237523ee1290f094003a3.jpg

生成验证码,注意font字体路径要对,否则显示图片不存在

session_start();  //1>设置验证码图片大小的函数 $image = imagecreatetruecolor(200, 60); //5>设置验证码颜色 imagecolorallocate(int im, int red, int green, int blue); $bgcolor = imagecolorallocate($image, 255, 255, 255); //#ffffff //6>区域填充 int imagefill(int im, int x, int y, int col)  (x,y) 所在的区域着色,col 表示欲涂上的颜色 imagefill($image, 0, 0, $bgcolor); //7>设置ttf字体 $fontface = 'simhei.ttf'; //7>设置字库,实现简单的数字储备 $str = '生成中文验证码并检测对错实例';
//str_split()切割字符串为一个数组,一个中文在utf_8为3个字符 $strdb = str_split($str, 3); //>11 $captcha_code = ''; //8>生成随机的汉子 for ($i = 0; $i < 4; $i++) {     //设置字体颜色,随机颜色     $fontcolor = imagecolorallocate($image, rand(0, 120), rand(0, 120), rand(0, 120));            //0-120深颜色     //随机选取中文     $in = rand(0, count($strdb));     $cn = $strdb[$in];     //将中文记录到将保存到session的字符串中     $captcha_code .= $cn;     /* imagettftext (resource $image ,float $size ,float $angle ,int $x ,int $y,int $color,       string $fontfile ,string $text ) 幕布 ,尺寸,角度,坐标,颜色,字体路径,文本字符串       mt_rand()生成更好的随机数,比rand()快四倍 */     imagettftext($image, mt_rand(20, 24), mt_rand(-60, 60), (40 * $i + 20), mt_rand(30, 35), $fontcolor, $fontface, $cn); } //11>存到session $_SESSION['sucaihuo_code'] = $captcha_code;

Ajax检测验证码

function checkCode() {     $.post("ajax.php", {code: $("#input_code").val()}, function(data) {         if (data == '1') {             alert("验证码正确!");         } else {             alert("验证码错误!");         }      }, "json") }

推荐教程:PHP验证码完整视频教程

更多相关文章

  1. php无乱码切割中文字符
  2. php json_encode 中文不转码
  3. gitbash PHP 执行输出中文乱编解决方式
  4. 解决json_encode中文转码问题
  5. [简讯] 微软Linux子系统已经支持中文
  6. 《Effective Java中文版 第2版》读书笔记
  7. 如何使用带有“IF”条件的按钮改变DIV的背景颜色
  8. jQuery 1.3 API 参考文档中文版
  9. jQuery $ajax 传中文数据到action乱码解决方法

随机推荐

  1. SQL根据某个字段分组查询:
  2. 特殊符号对应的ASCII码
  3. java.util.Date与java.sql.Date
  4. java之生成可重复执行的sql脚本
  5. Mysql-5.7 x64安装
  6. sqlite3使用教程1 SQLite 命令
  7. Linux系统下安装MySql 5.7.17 全过程
  8. SQL Sever数据库卡事务
  9. 查询自定义VO对象的sql
  10. 如果没有明确使用ISNULL,则左连接失败