验证码不显示
发布于:2022-01-17 09:50:54
#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