验证码不显示

#1 bxhcsz

本来没问题,昨天重做下系统,验证码不显示了,chrome提示 Resource interpreted as Image but transferred with MIME type text/html: "http://localhost/speedphp/index.php?c=verify&a=index".
换了两个扩展库的验证码类都是这样,换成自己的也这样。
直接访问验证码方法就显示图片乱码
�PNG 32 IHDRdU9,�IDATh��YQr� M:��3��{���^�~P�Bԝ�?�.        ��x�-�?�@�=*;.㒏����0�_-�yhKmJ��J��8��c��%���5�YY��At�P���C�mdu��st4�r�Rj�}�����`<���lqz�9(�T�%S�R���iدw��[��AY,^�ݿ�L���b!aqm���6��*��3��0�;,9���[Kqo/��4d�1��Q^�C���F(��B\~HT�ö[M�����7! e��٤���f�t�ʧb��+����IvW���k��II��G���pg/��~��!��g��rrɢ u�n�E$����]��br���v��0S�x���Y�R�:�}�|�L*m��M*c����<�"�e����D�$���n;��G{��z�hhJs��M)�5��A������ĥų�t=�72��iXY��]",m�/z�:j�·������3_�d����5�t�k��]<+Z�:�wa>��IW�X���,s���cR���0Z���ت,G)�v}����S���=�22�IEND�B`�

2013-09-25 09:18:50

#2 bxhcsz

bom也测试了,没有这个问题;本地的其他speedphp做的项目显示都正常,:dizzy:

2013-09-25 09:45:26

#3 jake

在verify的index函数最开始的地方加上

ob_clean();
header("content-type: image/png");

2013-09-25 09:49:43

#4 bxhcsz

jake 发表于 2013-9-25 09:49
在verify的index函数最开始的地方加上

ob_clean();
没发贴前搜了论坛,有一个类似问题的帖子。刚才又换回本地其他程序用的正常的扩展类,加上header也还是显示图片乱码。。。。。
 /*生成验证码*/
        function _vcode() {
                ob_clean();
                header("content-type: image/png");
                $vcode = spClass('spVerifyCode');
                $vcode->display();
        }

2013-09-25 10:00:12

#5 jake

bxhcsz 发表于 2013-9-25 10:00
没发贴前搜了论坛,有一个类似问题的帖子。刚才又换回本地其他程序用的正常的扩展类,加上header也还是显 ...
检查过程中加载的每个类(controller,model,tpl等等),还有入口文件(index.php),有没有多余的空格和BOM。

这里可以确定问题应该是多余的空格破坏了png格式。

2013-09-25 10:08:48

#6 bxhcsz

jake 发表于 2013-9-25 10:08
检查过程中加载的每个类(controller,model,tpl等等),还有入口文件(index.php),有没有多余的空格 ...
是引用的自定义函数文件有问题,不过现在图片是显示了,验证码数字不显示了我晕{:soso_e127:}这个我自己找问题吧,谢谢老大!

2013-09-25 10:19:34

#7 jake

bxhcsz 发表于 2013-9-25 10:19
是引用的自定义函数文件有问题,不过现在图片是显示了,验证码数字不显示了我晕这个我自己 ...
数字不显示,应该是字库,或者是gd库出问题。

2013-09-25 10:28:41

#8 bxhcsz

jake 发表于 2013-9-25 10:28
数字不显示,应该是字库,或者是gd库出问题。
GD库ok的,应该是字体了,按说字体文件在验证码使用的时候系统不允许删除的,这个项目里字体文件可以删除。郁闷了,这点地方整整一天了,啥都没干。还不敢跟客户说是因为验证码不显示。

2013-09-25 10:48:20

#9 bxhcsz

换了一个扩展类解决了~~感谢老大的帮助

2013-09-25 10:56:55