<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="[实例]PHP实现会变颜色的验证码" id="card1">
<p> 游客</p><p>
标题:[实例]PHP实现会变颜色的验证码<br/>
正文:<br/>
验证码长用来防止机器回复、垃圾评论等。代码如下:<br/>&amp;lt;?php <br/>header(&quot;Content-type: image/png,charset='utf-8'&quot;); <br/>$im = imagecreatetruecolor(400, 30); <br/>//白色 <br/>$white = imagecolorallocate($im, 255, 255, 255); <br/>//红色 <br/>$red = imagecolorallocate($im, 255, 0, 0); <br/>//黑色 <br/>$black=imagecolorallocate($im, 0, 0, 0); <br/>//绿色 <br/>$green=imagecolorallocate($im, 0, 255, 0); <br/>//蓝色 <br/>$blue=imagecolorallocate($im, 0, 0, 255); <br/>$color_arr=array($green,$blue,$red); <br/>$color=array_rand($color_arr); <br/>$text = '我靠这验证码太变态啦'; <br/>$textlen=iconv_strlen($text,'utf-8');//计算字符串长度 <br/>//随机截取两个字符，变色显示 <br/>$p1=rand(1,$textlen)-1; <br/>while(($p2=rand(1,$textlen)-1)==$p1); <br/>$w1=iconv_substr($text,$p1,1,'utf-8'); <br/>$w2=iconv_substr($text,$p1,1,'utf-8'); <br/>//字体文件 （PS：T不错的php Q扣峮：276167802，验证：csl） <br/>$font = 'simkai.ttf'; <br/>imagefilledrectangle($im, 0, 0, 399, 29, $white); <br/>for($i=0;$i&amp;lt;$textlen;$i++) <br/>{ <br/>if($i==$p1||$i==$p2) <br/>{ <br/>imagettftext($im, 15, 0, <br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=853&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=853&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=853&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=853&amp;Page=2">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=853">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=853">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>