您现在的位置是:首页
>
QQ登录php无限制 php仿QQ验证码的实例分析
h 仿QQ验证码的实例分析 本文介绍一个 h 实现的仿QQ中验证码的例子 QQ注册或登录时的验证码 大家都见过吧 本文给出的代码 也可以实现那样的验证码哦 有需要的朋友 参考下吧 复制代码 代码如下

php仿QQ验证码的实例分析
本文介绍一个php实现的仿QQ中验证码的例子 QQ注册或登录时的验证码 大家都见过吧 本文给出的代码 也可以实现那样的验证码哦 有需要的朋友 参考下吧 复制代码 代码如下: <?php /** * 仿QQ验证码 */ //Session保存路径 $sessSavePath = dirname(__FILE__) "/ /data/sessions/"; if(is_writeable($sessSavePath) && is_readable($sessSavePath)){ session_save_path($sessSavePath); } session_start(); //获取随机字符 $rndstring = ; for($i= ; $i< ; $i++) $rndstring = chr(mt_rand( )); $img_height= ; //先定义图片的长 宽 $img_width= ; //如果支持GD 则绘图 if(function_exists("imagecreate")) { //Firefox部份情况会多次请求的问题 秒内刷新页面将不改变session $ntime = time(); if(empty($_SESSION[ dd_ckstr_last ]) || empty($_SESSION[ dd_ckstr ]) || ($ntime $_SESSION[ dd_ckstr_last ] > )) { $_SESSION[ dd_ckstr ] = strtolower($rndstring); $_SESSION[ dd_ckstr_last ] = $ntime; } $rndstring = $_SESSION[ dd_ckstr ]; $rndcodelen = strlen($rndstring); //创建图片 并设置背景色 $im = imagecreate( ); ImageColorAllocate($im ); //干扰线 $lineColor = ImageColorAllocate($im mt_rand( ) mt_rand( ) mt_rand( )); for($j= ;$j<= ;$j=$j+ ) { imageline($im $j+mt_rand( ) $j+mt_rand( ) $lineColor ); } //输出文字 $fontColor = ImageColorAllocate($im mt_rand( ) mt_rand( ) mt_rand( )); for($i= ;$i<$rndcodelen;$i++) { $bc = mt_rand( ); $rndstring[$i] = strtoupper($rndstring[$i]); imagestring($im mt_rand( ) $i*$img_height/ +mt_rand( ) mt_rand( $img_width/ ) $rndstring[$i] $fontColor); } header("Pragma:no cache"r"n"); header("Cache Control:no cache"r"n"); header("Expires: "r"n"); //输出特定类型的图片格式 优先级为 gif > jpg >png if(function_exists("imagepng")) { header("content type:image/png"r"n"); imagepng($im); } else { header("content type:image/jpeg"r"n"); imagejpeg($im); } ImageDestroy($im); exit(); } else { //不支持GD 只输出字母 ABCD $_SESSION[ dd_ckstr ] = "abcd"; $_SESSION[ dd_ckstr_last ] = ; header("content type:image/png"r"n"); header("Pragma:no cache"r"n"); header("Cache Control:no cache"r"n"); header("Expires: "r"n"); $fp = fopen("data/vdcode jpg" "r"); echo fread($fp filesize("data/vdcode jpg")); fclose($fp); exit(); } ?> lishixinzhi/Article/program/PHP/201311/21002 很赞哦! (1038)