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

WBOY
Release: 2016-06-23 13:38:36
Original
982 people have browsed it


这个验证码非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 头

<?php$s = base64_decode('77u/R0lGODdhMgAWAKEAAN//fWRkZEFodQAAACwAAAAAMgAWAAACloyPqSmy/4CctAIhMcXa+mp8X1c1kylaYZpyF8mqQUyjtHyXJbyL65Wz2IRD0OzUSCaRNg4vs9xMfp6mxvpE+o6jKwmbLVKoQOjGexabP2TtrqgUvrZVHmoYr9N7/PVLPcfG5VeG15GXFmV0JnL3pRhEBQgFBzmCE9Q1eYKZSYSoFCo6SlpqmtWZ4Rm4GuAAAcvwGgtRAAA7');echo substr($s, 3);
Copy after login
Copy after login


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

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

请去掉验证码程序的 BOM 头

<?php$s = base64_decode('77u/R0lGODdhMgAWAKEAAN//fWRkZEFodQAAACwAAAAAMgAWAAACloyPqSmy/4CctAIhMcXa+mp8X1c1kylaYZpyF8mqQUyjtHyXJbyL65Wz2IRD0OzUSCaRNg4vs9xMfp6mxvpE+o6jKwmbLVKoQOjGexabP2TtrqgUvrZVHmoYr9N7/PVLPcfG5VeG15GXFmV0JnL3pRhEBQgFBzmCE9Q1eYKZSYSoFCo6SlpqmtWZ4Rm4GuAAAcvwGgtRAAA7');echo substr($s, 3);
Copy after login
Copy after login


至于在别的机器上是正确的,并不能说明什么
你的这个程序在上传到 服务器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);
Copy after login
efbbbf47494638376132001600a10000dfff7d6464644168750000002c00......
这个 efbbbf 就是 utf-8的 BOM 头

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!