首页 > 编程知识 正文

php中验证码不显示问题,php中验证码不显示问题怎么解决

时间:2023-12-27 22:28:02 阅读:327143 作者:GHBM

本文目录一览:

PHP 验证码不显示只有一个小红叉的解决方法

最近想自学PHP

,做了个验证码,但不知道怎么搞的,总出现一个如下图的小红叉,但验证码就是显示不出来,原因如下

未修改之前,出现如下错误;

(1)修改步骤如下,原因如下,原因是apache权限没开,

(2)点击打开php.int.,

搜索extension=php_gd2.dll

打开?去掉前面分号重启apache,就OK了

,万事大吉了。

希望各位朋友遇到这样的问题的时候,能给与帮助

php中文验证码无法显示

session_start();

$image=imagecreatetruecolor(200, 60);//创建画布

$color = imagecolorallocate($image, mt_rand(157,255), mt_rand(157,255), mt_rand(157,255));//随机颜色

//$color=imagecolorallocate($image, 255, 255, 255);

imagefill($image, 0, 0, $color);//填充颜色

//中文验证码

$fontface="simhei.ttf";//确保相同目录下有该字体

$strdb=array('好','多','人','在','学','习');

for ($i=0;$i4;$i++){

$fontsizecolor=imagecolorallocate($image, mt_rand(0, 150), mt_rand(0, 150), mt_rand(0, 150));

 $codex=iconv("GB2312","UTF-8",$strdb[mt_rand(0,5)]);//iconv不能转数组 取任意下标 

imagettftext($image, mt_rand(20, 24), mt_rand(-30, 30), (40*$i+20), mt_rand(30, 35), $fontsizecolor, $fontface, $codex);//如果用$code的话 就生成 1+2+3+4 是个汉字的验证码了

}

//干扰点

for ($i=0;$i200;$i++){

$pointcolor=imagecolorallocate($image, mt_rand(50, 200), mt_rand(50, 200), mt_rand(50, 200));

imagesetpixel($image, mt_rand(1, 100), mt_rand(1,20), $pointcolor); //雪花

}

//干扰线

for ($i=0;$i3;$i++){

$linecolor=imagecolorallocate($image, mt_rand(50, 200), mt_rand(50, 200), mt_rand(50, 200));

imageline($image, mt_rand(1, 99), mt_rand(1, 99), mt_rand(1, 99), mt_rand(1, 99), $linecolor);

}

ob_clean();

header("Content-type:image/png");

imagepng($image);

imagedestroy($image);

php网站后台验证码显示不出来呢?

一般是两个问题,一、GD库是否开启。二、BOM头的影响,没有清除。

给你发一个清除BOM的文件,你在根目录执行一下该文件就行了。

php验证码为什么不显示

第一行PHP隐藏了代码,如空格,回车等。

在Header("Content-type: image/PNG"); 之前有输出。

如果是utf-8,就有可能是BOM没有清除。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。