当前位置:Gxlcms > PHP教程 > thinkphp+iis6.0+win2003验证码乱码

thinkphp+iis6.0+win2003验证码乱码

时间:2021-07-01 10:21:17 帮助过:30人阅读

这个验证码非thinkphp自带的,该网站在本地电脑(win8.1)和其他win2003上正常显示,可传到服务器A就出现这错误
服务器A之前有使用过dz论坛,5.2.17 php版本,这要如何排错?请教,谢谢


回复讨论(解决方案)

在图片输出前加这句
header('content-type:image/gif');

在图片输出前加这句
header('content-type:image/gif');


谢谢,加上后还是同样的错误,是不是php.ini文件设置的原因?
这程序在别的服务器上都正常

echo base64_encode(file_get_contents('验证码程序的url'));
贴出结果

将header那句注释掉报错了没有?

echo base64_encode(file_get_contents('验证码程序的url'));
贴出结果


77u/R0lGODdhMgAWAKEAAN//fWRkZEFodQAAACwAAAAAMgAWAAACloyPqSmy/4CctAIhMcXa+mp8X1c1kylaYZpyF8mqQUyjtHyXJbyL65Wz2IRD0OzUSCaRNg4vs9xMfp6mxvpE+o6jKwmbLVKoQOjGexabP2TtrqgUvrZVHmoYr9N7/PVLPcfG5VeG15GXFmV0JnL3pRhEBQgFBzmCE9Q1eYKZSYSoFCo6SlpqmtWZ4Rm4GuAAAcvwGgtRAAA7

请去掉验证码程序的 BOM 头

    

至于在别的机器上是正确的,并不能说明什么
你的这个程序在上传到 服务器A之前(后)用记事本做过了编辑

是不是php.ini设置有误?
已经开启extension=php_gd2.dll
图片中的错误我是直接访问index.php?m=Public&a=verify这样的地址出现的乱码,
本机访问这地址时,是显示图片验证码的

请去掉验证码程序的 BOM 头

      

至于在别的机器上是正确的,并不能说明什么
你的这个程序在上传到 服务器A之前(后)用记事本做过了编辑



刚用UE把index.php、Image.class.php、login.html、PublicAction.class.php都另存为UTF-8 无BOM,还是把这个错。
崩溃

老徐已经说了去掉BOM头 如果不了解什么是BOM头 百度一下

$s = base64_decode('77u/R0lGODdhMgAWAKEAAN//fWRkZEFodQAAACwAAAAAMgAWAAACloyPqSmy/4CctAIhMcXa+mp8X1c1kylaYZpyF8mqQUyjtHyXJbyL65Wz2IRD0OzUSCaRNg4vs9xMfp6mxvpE+o6jKwmbLVKoQOjGexabP2TtrqgUvrZVHmoYr9N7/PVLPcfG5VeG15GXFmV0JnL3pRhEBQgFBzmCE9Q1eYKZSYSoFCo6SlpqmtWZ4Rm4GuAAAcvwGgtRAAA7');echo bin2hex($s);
efbbbf47494638376132001600a10000dfff7d6464644168750000002c00......
这个 efbbbf 就是 utf-8的 BOM 头

人气教程排行