本文目录一览:
- 1、求助thinkphp3.2.3验证码和字体库使用
- 2、thinkphp的中文验证码?那些中文字符串放在哪个文件夹?或者说是怎么引入的?
- 3、php验证码乱码
- 4、怎么改dedecms verify.php验证码的字体高度和间距
求助thinkphp3.2.3验证码和字体库使用
thinkphp3.2.3验证码和字体库使用 表达式1可以是设置循环变量的初值的赋值表达式,也可以是其他表达式。 例如:for(sum=0;i=100;i++)sum=sum+i; 8) 表达式1和表达式3可以是一个简单表达式也可以是逗号表达式。 for(sum=0,i=1;i=100;i++)sum=sum+i;或:for(i=0,j=100;i=100;i++,j--)k=i+j; 9) 表达式2一般是关系表达式或逻辑表达式,但也可是数值表达式或字符表达式,只要其值非零,就执行循环体。 例如:for(i=0;(c=getchar())!=’\n’;i+=c); 又如:for(;(c=getchar())!=’\n’;)printf(“%c”,c);
thinkphp的中文验证码?那些中文字符串放在哪个文件夹?或者说是怎么引入的?
中文的验证码字体放在:ThinkPHP/Library/Think/Verify/zhttfs/中,
$Verify = new \Think\Verify();
// 验证码字体使用 ThinkPHP/Library/Think/Verify/ttfs/5.ttf
$Verify-useZh = true; //开启中文验证码
$Verify-entry();
也可以这样用:
$Verify = new \Think\Verify();
$Verify-useZh = true;
// 设置验证码字符
$Verify-zhSet = '们以我到他会作时要动国产的一是工就年阶义发成部民可出能方进在了不和有大这';
$Verify-entry();
php验证码乱码
呵呵,这个程序没有问题
imagettftext($im,20,0,3,25,$font,"comic.ttf",$str);
这里需要一个comic.ttf字体文件,必须放在那个php程序同目录下
你是不是没有这个字体文件
如果没有,可以到系统的C:\Windows\Fonts目录下拷贝一个(拷个几百KB大小的就足够用了)
我试了你的程序,生成的图片效果不是很好,我以前写了一个,给你参考下把,虽然也是修改的网上的:
?
//获取验证码图片模块
session_start();
//记得去掉下面注释
if (!isset($_GET["sid"])||$_GET["sid"]==""||$_GET["sid"]!=session_id())die();
Header("Content-type:image/png");
//定义header,声明图片文件,最好是png,无版权之扰;
//生成新的四位整数验证码
//session_id($_GET["sid"]);
//开启session;
$authnum_session = '';
$str = 'ABCDEFGHIJKMNPQRSTUVWXYZ1234567890';
//定义用来显示在图片上的数字和字母;
$l = strlen($str);
//得到字串的长度;
//循环随机抽取四位前面定义的字母和数字;
for ($i=1; $i=4; $i++)
{
$num=rand(0,$l-1);
//每次随机抽取一位数字;从第一个字到该字串最大长度,
//减1是因为截取字符是从0开始起算;这样34字符任意都有可能排在其中;
$authnum_session.= $str[$num];
//将通过数字得来的字符连起来一共是四位;
}
$_SESSION["checkCode"]=$authnum_session;
//用session来做验证也不错;注册session,名称为authnum_session,
//其它页面只要包含了该图片
//即可以通过$_SESSION["checkCode"]来调用
//生成验证码图片,
//srand((double)microtime()*1000000);
mt_srand();
$im = imagecreate(100,40);//图片宽与高;
//主要用到黑白灰三种色;
$black = ImageColorAllocate($im, mt_rand(0,245),mt_rand(0,200),mt_rand(0,200));
$white = ImageColorAllocate($im, 255,255,255);
$gray = ImageColorAllocate($im, 200,200,200);
//将四位整数验证码绘入图片
imagefill($im,168,30,$gray);
//如不用干扰线,注释就行了;
$li = ImageColorAllocate($im, 220,220,220);
for ($i=0; $i0; $i++)
{//加入3条干扰线;也可以不要;视情况而定,因为可能影响用户输入;
imageline($im,mt_rand(0,30),mt_rand(0,41),mt_rand(80,90),mt_rand(0,41),$li);
} //字符在图片的位置;
//imagestring($im, 5, 8, 2, $authnum_session, $white);
// Set the enviroment variable for GD
putenv('GDFONTPATH=' . realpath('.'));
// Name the font to be used (note the lack of the .ttf extension)
//$font = 'mvboli';
//$font = imageloadfont("mvboli.ttf");
//imagestring($im,$font, 8, 2, $authnum_session, $white);
//imagettftext ( $im,20.0, 0, 0, 30, $white,"FELIXTI.TTF", $authnum_session );
for ($i=0; $i4; $i++)
{
imagettftext ( $im,20.0, mt_rand(0,40)-20, $i*25+3, 30, $white,"FELIXTI.TTF", substr($authnum_session,$i,1) );
}
for ($i=0; $i90; $i++) //加入干扰象素
{
imagesetpixel($im, mt_rand()%100-2 , mt_rand()%40-2 , $gray);
}
ImagePNG($im);
ImageDestroy($im);
?
同样这行代码需要一个字体文件,你可以把它改成你拷过来的的字体文件名
imagettftext ( $im,20.0, mt_rand(0,40)-20, $i*25+3, 30, $white,"FELIXTI.TTF", substr($authnum_session,$i,1) );
怎么改dedecms verify.php验证码的字体高度和间距
array imagettftext
( resource $image
, float $size
, float $angle
, int $x
, int $y
, int $color
, string $fontfile
, string $text
)
设置size字体大小,默认14,可以设置大点的。
后台修改 图片大小,注意inc_safe_config.php文件的宽高。
根据x,y设置字体坐标。
@imagettftext($im, $font_size, $c, $y_pos, 19, $c_fontColor, $font_file, $rndstring[$i]);
改19的大小就行了。