本文目录一览:
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没有清除。