php无法显示验证码
㈠ 用thinkphp导入验证码,为什么显示不出来求教
检查一下你的入口文件和配置文件里面有没有设置字符集的输出
验证码常见错误:
1. 字体文件的位置不对
2. 由于在生成验证码的时候,使用了header()函数,它有一个特点,它之前不能有任何的输出,包括空格。解决办法,从index.php开始查找,凡是被包含进来的文件都需要查找
3. 还需要注意一个的,就是你的文件编码要确保是 utf-8的,而不是带BOM头的utf-8。
最后,建议你单独配置一个域名,放在根目录,有些功能放在子目录不好用
㈡ PHP服务器不能显示验证码
首先从最简单的入手:
如果你只是验证码的图片是小红叉.那么指着小红叉位置.右键"显示图片"即可.如果还不行请刷新页面.
网站的验证码图片一般是“.xbm”格式。Windows XP SP2/Windows 2003操作系统默认情况下不支持“.xbm”格式,造成验证码无法显示。
方法一 手动修改注册表:
开始 /运行 /填入“regedit ” /展开[HKEY_LOCAL_MACHINE-SOFTWARE-Microsoft-Internet Explorer-Security],在右侧窗口找到BlockXBM的Dword值(没有请新建)并双击在弹出的编辑对话框中将其数值数据设为“0”,点击“确定”。
然后在再你需要填入验证码的页面(按F5)刷新一下,应该正常了.
方法二 自动修改注册表:
打开记事本将下边的内容写在记事本上
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Internet Explorer\\Security]
"BlockXBM"=dword:00000000
保存成.reg文件(文件类型选择全部),并双击导入,重启计算机就行了。
如果你是浏览网上银行导致用户名和密码输入框都无法正常显示,那么是你IE设定了阻止ActiveX控件的原因..一般出现这种情况时..先把IE的选项设为默认,然后刷新页面,这时提醒你安装ActiveX控件的时候安装即可
㈢ php网站后台验证码显示不出来呢
一般是两个问题,一、GD库是否开启。二、BOM头的影响,没有清除。
给你发一个清除BOM的文件,你在根目录执行一下该文件就行了。
㈣ php验证码无法正常显示 Image corrupt or truncated:
尝试1.图像路径问题,改绝对路径,或者在相同的路径下放一张静态图,如果能显示则排除。
尝试2.图像编码,是否是生成时有问题,生成图像的代码,一行一行的调试。
尝试3.关于这个页面的某个类中<?php ?>结尾的标签下面还有回车
㈤ php无法显示验证码(确认已开启GD,确认无BOM),还有什么办法
以前遇到过类似问题,是使用thinkphp自带的,解决方法是:
//生成验证码
public function verifyimg(){
import("ORG.Util.Image");
ob_end_clean();
Image::buildImageVerify();
}
输出前加入 “ob_end_clean();” 清掉缓冲区的内容,可以试试。
㈥ php做的验证码显示不出来
<?php
header('Content-Type: image/png');
$width=80; //验证码的宽度
$height=30; //验证码的高度
$num=4; //验证码的个数
$fontSize=16; //验证码字体大小
$code=''; //接受验证码
$str='';//strlen($str) 53位;
for($i=1;$i<=$num;$i++){
$codeNum=mt_rand(0,52);
$code.=$str{$codeNum};
$code=strtolower($code); //生成的4位验证码
}
/****************************/
/* 生成一张图片 */
/* $backColor: 图片背景颜色*/
/* $border: 边框颜色 */
/* imagerectangle: 图片边框*/
/****************************/
$image=imagecreatetruecolor($width,$height);
$backColor=imagecolorallocate($image,mt_rand(220,255),mt_rand(220,255),mt_rand(220,255));
$border=imagecolorallocate($image,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
imagefill($image,0,0,$backColor);
imagerectangle($image,0,0,$width-1,$height-1,$border);
/****************************/
/* 将验证码放在图片上 */
/* $fontColor: 文字颜色 */
/* $angle: 倾斜角度 */
/* $x,$y:验证码所在位置 */
/****************************/
for($j=0;$j<$num;$j++){
$fontColor=imagecolorallocate($image,mt_rand(0,128),mt_rand(0,128),mt_rand(0,128));
$x=($width/$num)*$j+3;
$y=$height/2+$fontSize/2;
$angle=mt_rand(-25,25);
imagefttext($image,$fontSize,$angle,$x,$y,$fontColor,"font/msyh.ttf",$code{$j});
}
/********************/
/* 设置干扰元素 */
/* 输出两条线 */
/********************/
$lineColor=imagecolorallocate($image,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
imageline($image,0,mt_rand(0,$height),$width,mt_rand(0,$height),$lineColor);
imageline($image,mt_rand(0,$height),0,mt_rand(0,$height),$height,$lineColor);
/********************/
/* 设置干扰元素 */
/* 输出500个点 */
/********************/
for($k=0;$k<=200;$k++){
$dotColor=imagecolorallocate($image,240,136,159);
$x=mt_rand(0,$width-2);
$y=mt_rand(0,$height-2);
imagesetpixel($image,$x,$y,$dotColor);
}
/********************/
/* 设置session */
/* 获取验证码的字符*/
/********************/
session_start();
$_SESSION['checkCode']=$code;
//生成png格式的验证码图片
imagepng($image);
?>
㈦ 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;$i<4;$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;$i<200;$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;$i<3;$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);
㈧ phpwind无法显示验证码,请教高手怎么回事
首先要确定问题是不是因为网速引起的,刷新一下页面,或者网速好的时候再试一下。如果是本地的服务器,那就排除网速的问题,你可以使用phpinfo()函数查看是否开启了GD库的支持,没有开的话。找到php安装目录,找到php.ini文件,将php_gd2.dll前的分号(;)去掉重启apache即可。如果还是不行,那就要考虑代码问题了,是否改动代码了,或者代码的使用方法不对
㈨ phpstudy前台验证码无法显示
你这个问题出现在前台的代码里面,你找到显示这个页面的源文件,打开源文件删除这个验证码的代码就可以了。
有个更好的办法找到,使用F12点击右上方的那个按钮,就能找到这个位置了,可以右键查看源代码,也可以
㈩ 为什么apache php无法显示验证码
验证码一般需要安装GD库来支持的,你可以看一下你的php.ini文件中是否开启了这一项,如果开启后重启Apache报错,那么还需要你安装。
Windows中是一个.dll文件,放到相应的目录就可以了。
Linux下安装可能对PHP的版本之类的有要求,最好别安装最新版本的GD库。