>백엔드 개발 >PHP 튜토리얼 >PHP验证码汉字

PHP验证码汉字

WBOY
WBOY원래의
2016-06-23 13:29:39768검색

现在已经有很多网站采用汉字作为验证码,其实并不难,之前我们需要了解怎么做字符验证码以及图片验证码



步骤和字符验证码一样,唯一不同在产生随机字串,汉字需要utf8编码,而且要事先准备汉字库,要知道怎么抓取中文字符


我这里就不多说了,上代码:

<?phpsession_start ();$width = 200;$length = 60;$image = imagecreatetruecolor($width, $length);$color = imagecolorallocate($image, 255, 255, 255);imagefill($image, 0, 0, $color);$fontface = 'msyh.ttf';$str = "月日上午湖北荆州安良百货商场内一名岁的女子被搅入手扶电梯身亡据广西梧视台报道位多小朋友太阳从左到臂中段基本废掉甯全事关每个生命绝不允许万危险?什么屡发吃故背后都有政府监管部门产者保养维护和所失职人祸原因民网亲带着孩溲卷??目睹这幕如此悲情面估计无数潸然泪下终止竟孤偶让我?心于死来说羊补牢经而能?庆幸自己没在那敲响实公共警钟底应该何做系乎寥成为话题密问其木起质疑?涌出赔偿缺却再也回才是最痛?方运行既存就需要意识对拥否已尽了义务确正常转宣传尤进紧急制动样按钮播时候修些之众则件将会头尾答果任层现纰漏至重洞导致剧次以长鸣们注领域施与另外奏更??平论家庭还学校给灌输各种救皋措办演练包含消防等容只够记像吝庥懂得示昌?诌提前告知顾客通速及?啬服推卸责兆历统谁望看?谓定忮改眺??轻描淡写追甚负躺顶格惩罚期操?怂王两天国股暴跌步把市脆弱性熟造陷表淋漓投资贪婪览遗见缝插针机想他考虑社利益牛弹琴大势文章称组织稽查执法力量集抛售票线索核同声明队根退可户恶空分析指变化跑海或谋工具星疾呼过仅街老鼠喊打使证高调处金融交易仓限?卖单临规透赚钱减敢地惹火烧三未合约主结算即沪深持增加张但仍例近萎缩比少?恐慌沽?象并它移括香港新坡华富?当较初份达涉总值元宠模吗年热炒作显著升傍晚点美超亿由且开始聚早嗜血放屠刀立佛晃取衍润几用极灾难况招拆狠宝马奥拓展拳脚击败攻举解预决强获纷逃直崩盘清楚";$strdb = str_split($str,3);$captch_code = '';//产生随机数for($i=0; $i<4; $i++){	$fontcolor = imagecolorallocate($image, rand(0,120), rand(0,120), rand(0,120));	$cn = $strdb[rand(0,count($strdb)-1)];	$captch_code .= $cn;	imagettftext($image, mt_rand(20,24), mt_rand(-60,60), (40*$i+20), mt_rand(30,35), $fontcolor, $fontface, $cn);}$_SESSION['authcode'] = $captch_code;//干扰点for($i=0; $i<200; $i++) {	$pointcolor = imagecolorallocate($image, rand(50,200), rand(50,200), rand(50,200));	imagesetpixel($image, rand(1,$width-1), rand(1,$width-1), $pointcolor);}//干扰线for($i=0; $i<10; $i++){	$linecolor = imagecolorallocate($image, rand(80,220), rand(80,220), rand(80,220));	imageline($image, rand(1,$width-1), rand(1,$width/3-1), rand(1,$width-1), rand(1,$width/3-1), $linecolor);}header("content-type: image/png");imagepng($image);imagedestroy($image);

客户端:

<?phpif (isset($_REQUEST['authcode'])){	session_start();	if(($_REQUEST['authcode']) == $_SESSION['authcode']){		echo '<font color="#0000cc">输入正确';	}else{		echo '<font color="#cc0000"><b>输入错误</b></font>';	}	exit();}?>	<title></title>	

验证码图片:PHP验证码汉字 换一个

图片内容:


结果图:


版权声明:本文为博主原创文章,未经博主允许不得转载。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.