在网上看到一个图片验证码,挻漂亮的,但是取回来发现,好像有点小问题,还是改为自己的口味吧,很多时候,如果无法使用,应该是字体的问题。程序所用的字体win7 自带的,需要上传到web目录
代码:
* @Author fy
*/
编辑整理:www.jbxue.com
$imgwidth =100; //图片宽度
$imgheight =40; //图片高度
$codelen =4; //验证码长度
$fontsize =20; //字体大小
$charset = 'abcdefghkmnprstuvwxyzABCDEFGHKMNPRSTUVWXYZ23456789';
$font = 'Fonts/segoesc.ttf';
$im=imagecreatetruecolor($imgwidth,$imgheight);
$while=imageColorAllocate($im,255,255,255);
imagefill($im,0,0,$while); //填充图像
//取得字符串
$authstr='';
$_len = strlen($charset)-1;
for ($i=0;$i<$codelen;$i++) {
$authstr .= $charset[mt_rand(0,$_len)];
}
session_start();
$_SESSION['scode']=strtolower($authstr);//全部转为小写,主要是为了不区分大小写
//随机画点,已经改为划星星了
for ($i=0;$i<$imgwidth;$i++){
$randcolor=imageColorallocate($im,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
imagestring($im,mt_rand(1,5), mt_rand(0,$imgwidth),mt_rand(0,$imgheight), '*',$randcolor);
//imagesetpixel($im,mt_rand(0,$imgwidth),mt_rand(0,$imgheight),$randcolor);
}
//随机画线,线条数量=字符数量(随便)
for($i=0;$i<$codelen;$i++)
{
$randcolor=imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
imageline($im,0,mt_rand(0,$imgheight),$imgwidth,mt_rand(0,$imgheight),$randcolor);
}
$_x=intval($imgwidth/$codelen); //计算字符距离
$_y=intval($imgheight*0.7); //字符显示在图片70%的位置
for($i=0;$i<strlen($authstr);$i++){
$randcolor=imagecolorallocate($im,mt_rand(0,150),mt_rand(0,150),mt_rand(0,150));
//imagestring($im,5,$j,5,$imgstr[$i],$color3);
// imagettftext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text )
imagettftext($im,$fontsize,mt_rand(-30,30),$i*$_x+3,$_y,$randcolor,$font,$authstr[$i]);
}
//生成图像
header("content-type:image/PNG");
imagePNG($im);
imageDestroy($im);
相关推荐
php图片验证码实例以及代码打包下载 【自动生成图片、支持点击自动刷新、包含字体、可以自定义配置干扰元素】
php完整验证码实例 完整的实例 需要在服务器环境 session存储
一个PHP验证码小实例,非常试用与初学者,下载试试看吧,
在网上看到一个图片验证码,挻漂亮的,但是取回来发现,好像有点小问题,还是改为自己的口味吧,很多时候,如果无法使用,应该是字体的问题。程序所用的字体win7 自带的,需要上传到web目录
一个亲测可用的通用验证码实例,网上有很多资料,但是真正可用的并不多,很多还是误人子弟,本案例经测试是可以使用的,希望能帮到你,节约时间!
PHP ajax异步验证网站验证码实例,一个是test.php 一个是生产验证码PHP文件,网上参考的,面向对象的,以后网站直接拿来用,还不用你写任何代码。
PHP快速生成图片验证码并且实现验证插件 1.插件作用: 本插件可以快速实现网站验证码功能,包括验证码的生成和验证。 2.所需参数: CaptchaTool类包括两个方法,generate方法可以实现生成'...
php验证码实例
PHP实例开发源码—php红鸟验证码.zip PHP实例开发源码—php红鸟验证码.zip PHP实例开发源码—php红鸟验证码.zip
php实现验证码的识别 <?php include ('Valite.php'); $valite = new Valite(); $valite->setImage('4.jpeg'); $valite->getHec(); $ert = $valite->run(); print_r($ert); ?>
一个PHP生成验证码图片以及进行验证的类 实例如下: 调用实例如下 require 'SecureCode.class.php'; $code=SecureCode::getInstance(); $code->createImage(); $code->stroke(); /* 如果需要保存验证码图片,...
将verify.php中的方法放入具体的类中就可以了,页面引用verify.html的页面。
PHP函数库,PHP函数大全,PHP函数实例,PHP函数手册,PHP5函数库实例 PHP函数库,PHP函数大全,PHP函数实例,PHP函数手册,PHP5函数库实例 curl获取远程文件内容 GD显示中文 PHP GIF动画生成类 PHP HTML转UBB函数 PHP ...
定制化的php验证码类 创建验证码图像: 建立画布(__construct函数) 设置画布背景($this->set_bgcolor();) 获取随机字符串($this->get_randnum ();) 文字写到图片上(imagestring函数)...
主要介绍了PHP生成图片验证码实例,同时介绍了点击切换(看不清?换一张)效果实现方法,需要的朋友可以参考下
php实例之PHP实现验证码功能.pdf , 讲的很透彻,很好的教程
主要介绍了PHP实现算式验证码和汉字验证码实例,本文直接给出实现代码,需要的朋友可以参考下
PHP作的简单验证码生成,代码简单实用,用于登录注册等地方,简单实用,方便,使用PHP和session,避免有些浏览器对JS验证码的不兼容
一个php验证码样式类,PHP生成验证码没有想象中的难,实例化对象,并设置验证码图片的宽、高和验证码的长度。创建图片,干扰颜色,干扰点,干扰线,验证码写入图片。