php画图应用之验证码
Posted yangykaifa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php画图应用之验证码相关的知识,希望对你有一定的参考价值。
在画图里面,就像之前所说的。php的画图是真正动态画图,尽管自己承认会出的图是非常不好看的。但我们主要关注的应该还是数据处理。
验证码我们差点儿无处不见,它的产生和画图技术是密不可分的。事实上,简单的验证码绘制出来是非常easy的,就像以下的一段代码就能够绘制出包括字母和数字的元素:
<?php $checkCode=""; for($i=0; $i<=3;$i++){ $checkCode.=dechex(rand(1,15)); } session_start(); $_SESSION[‘checkCode‘]=$checkCode; //建立画布 $img_1=imagecreatetruecolor(110, 30); $red=imagecolorallocate($img_1, 255, 0, 0); imagestring($img_1, 5, 0, 0, $checkCode, $red); header("Content-type: image/png"); imagepng($img_1); imagedestroy($img_1); ?>
上面的代码仅仅是简单的说了一下验证码的绘制。事实上代码方面并没有进行安全处理。
以下是相对的把验证码处理的相对复杂了一些:
<?php $checkCode=""; for($i=0; $i<=3;$i++){ $checkCode.=dechex(rand(1,15)); } session_start(); $_SESSION[‘checkCode‘]=$checkCode; //建立画布 $img_1=imagecreatetruecolor(70, 40); //必须是先创建画布。在创建颜色。 $red=imagecolorallocate($img_1, rand(0,255), rand(0,255), rand(0,255)); for($k=0; $k<=20; $k++){ imageline($img_1, rand(0,50),rand(0,30),0,0,0,0, imagecolorallocate($img_1, rand(0,255), rand(0,255), rand(0,255))); } imagestring($img_1, rand(3,7), rand(0,40), rand(0,20), $checkCode, $red); header("Content-type: image/png"); imagepng($img_1); imagedestroy($img_1); ?>
以上是关于php画图应用之验证码的主要内容,如果未能解决你的问题,请参考以下文章