php汉字验证码
最近因项目的要求,需要使用汉字验证码,于是研究了一个,在这里贴出代码来和大家分享一下。下面是使用php生成汉字验证码的具体用法和函数代码。
用法如下:
<?php create_excode(4);//生成四个汉字的验证码
汉字验证码图片:
具体函数代码如下:
<?php /* * $length 验证码汉字个数 */ function create_excode($length){ $randChar=array('浩','比','不','惊','静','看','友','前','花', '开','龙','落','义','得', '江','无','意','虎','望','天','外', '云','卷','市','丁','中','程','人','产','名','仅','余','金', '国','美','币','东','木','水','火','土','七','九','八','工', '码','图','员','电','大','秒','舒','仁'); header('content-type: image/png'); $charWidth=30;//每个字符占有的宽度 $image_x=$length*$charWidth; //图片宽度 $image_y=40; //图片高度 $noise_num=100*$length; //杂点数量 $line_num=13; //干扰线数量 $image=imagecreate($image_x,$image_y); $w=$h=0;//图片款高度初始化 imagecolorallocate($image,250,250,250); //设定图片背景颜色 //imagecolorallocate($image,0xff,0xff,0xff);//白色背景 $rectangle_color=imagecolorallocate($image,0xAA,0xAA,0xAA); //边框颜色 $noise_color=imagecolorallocate($image,0x00,0x00,0x00); //杂点颜色 $font_size=18;//字体大小 $font_y=29;//字符在Y轴上基线的位置 $font_face='heiti.ttf'; //字体 //加入杂点 for($i=0;$i<$noise_num;$i++){ imagesetpixel($image,mt_rand(0,$image_x),mt_rand(0,$image_y),$noise_color); } //生成验证码 $x=2; $session_code=''; for($i=0;$i<$length;$i++){ $font_color=imagecolorallocate($image,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255)); //字体颜色 $code=$randChar[mt_rand(0,count($randChar)-1)]; imagettftext($image,$font_size,mt_rand(-6,6),$x,$font_y,$font_color,$font_face,$code); $x+=30; $session_code.=$code; } //把验证码的值存放到session中 @session_start(); $_SESSION['checkCode']=$session_code; for($i=0;$i<$line_num;$i++){ $fontcolor=imagecolorallocate($image,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255)); imagearc($image,mt_rand(-10,$w),mt_rand(-10,$h),mt_rand(30,300),mt_rand(20,200),55,44,$fontcolor); }//www.phpernote.com/php-function/1010.html for($i=0;$i<255;$i++){ $fontcolor=imagecolorallocate($image,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255)); imagesetpixel($image,mt_rand(0,$w),mt_rand(0,$h),$fontcolor); } imagerectangle($image,0,0,$image_x-1,$image_y-1,$rectangle_color); //加个边框 imagepng($image); imagedestroy($image); }
汉字验证码代码下载(内含字体文件)
您可能感兴趣的文章
- php生成动态验证码图片(gif)
- php提取身份证号码中的生日日期以及验证是否为未成年人的函数
- php生成验证码函数
- php表单字段格式验证类
- js,php正则验证是否为数字与字母的混合(6-15位)
- php获取汉字拼音首字母的函数(真正可以使用的)
- PHP将简体汉字转为繁体的方法
- php利用filter函数验证邮箱、url和ip地址的方法

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

In this chapter, we will understand the Environment Variables, General Configuration, Database Configuration and Email Configuration in CakePHP.

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

To work on file upload we are going to use the form helper. Here, is an example for file upload.

In this chapter, we are going to learn the following topics related to routing ?

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

Validator can be created by adding the following two lines in the controller.
