PHP验证码无法显示的原因及解决办法


Posted in PHP onAugust 11, 2017

PHP验证码无法显示的原因及解决办法

一、如果是utf-8,就有可能是BOM没有清除

二、在Header("Content-type: image/PNG"); 之前有输出

三、第一行PHP隐藏了代码,如空格,回车等。 解决代码:

$image_width=70;           //设置图像宽度
$image_height=18;       //设置图像高度
$new_number=$_GET[num];
//$new_number=5;
$num_image=imagecreate($image_width,$image_height); //创建一个画布
imagecolorallocate($num_image,255,255,255);    //设置画布的颜色
$black=imagecolorallocate($num_image,0,0,0);
/**/for($i=0;$i<strlen($new_number);$i++){ //循环读取SESSION变量中的验证码
  $font=mt_rand(3,5);               //设置随机的字体
  $x=mt_rand(1,8)+$image_width*$i/4;        //设置随机字符所在位置的X坐标
  $y=mt_rand(1,$image_height/4);          //设置随机字符所在位置的Y坐标
  $color=imagecolorallocate($num_image,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200));  //设置字符的颜色
  imagestring($num_image,$font,$x,$y,$new_number[$i],$color);     //水平输出字符
}
header("content-type:image/png");   //设置创建图像的格式
imagepng($num_image);     //生成PNG格式的图像
imagedestroy($num_image);   //释放图像资源

以上就是PHP验证码无法显示的原因及解决办法的讲解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 相关文章推荐
PHP中调用ASP.NET的WebService的代码
Apr 22 PHP
PHP利用header跳转失效的解决方法
Oct 24 PHP
php绘制一个扇形的方法
Jan 24 PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
Mar 18 PHP
图文详解PHP环境搭建教程
Jul 16 PHP
Yii框架连接mongodb数据库的代码
Jul 27 PHP
Eclipse PHPEclipse 配置的具体步骤
Aug 08 PHP
基于ThinkPHP5.0实现图片上传插件
Sep 25 PHP
PHP实现的超长文本分页显示功能示例
Jun 04 PHP
ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解
Apr 02 PHP
PHP常量define和const的区别详解
May 18 PHP
php使用scandir()函数扫描指定目录下所有文件示例
Jun 08 PHP
php readfile()修改文件上传大小设置
Aug 11 #PHP
浅谈Laravel中的一个后期静态绑定
Aug 11 #PHP
浅谈PHP中new self()和new static()的区别
Aug 11 #PHP
php使用 readfile() 函数设置文件大小大小的方法
Aug 11 #PHP
详解PHP使用日期时间处理器Carbon人性化显示时间
Aug 10 #PHP
PHP弱类型语言中类型判断操作实例详解
Aug 10 #PHP
CI框架(CodeIgniter)公共模型类定义与用法示例
Aug 10 #PHP
You might like
GD输出汉字的函数的分析
2006/10/09 PHP
php数组函数序列之in_array() 查找数组值是否存在
2011/10/29 PHP
新浪微博OAuth认证和储存的主要过程详解
2015/03/27 PHP
PHP查询分页的实现代码
2017/06/09 PHP
YII2框架中日志的配置与使用方法实例分析
2020/03/18 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
在线编辑器的实现原理(兼容IE和FireFox)
2007/03/09 Javascript
jQuery Ajax文件上传(php)
2009/06/16 Javascript
分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
2012/10/12 Javascript
js indexOf()定义和用法
2012/10/21 Javascript
JavaScript中json使用自己总结
2013/08/13 Javascript
浅谈javascript中return语句
2015/07/15 Javascript
如何学JavaScript?前辈的经验之谈
2016/12/28 Javascript
JavaScript如何把两个数组对象合并过程解析
2019/10/10 Javascript
Vue切换div显示隐藏,多选,单选代码解析
2020/07/14 Javascript
Python实现的中国剩余定理算法示例
2017/08/05 Python
分析Python读取文件时的路径问题
2018/02/11 Python
在CMD命令行中运行python脚本的方法
2018/05/12 Python
Python 输出时去掉列表元组外面的方括号与圆括号的方法
2018/12/24 Python
python pip源配置,pip配置文件存放位置的方法
2019/07/12 Python
解决Python中回文数和质数的问题
2019/11/24 Python
Python+Redis实现布隆过滤器
2019/12/08 Python
Python编写一个验证码图片数据标注GUI程序附源码
2019/12/09 Python
离线状态下在jupyter notebook中使用plotly实例
2020/04/24 Python
详解css3自定义滚动条样式写法
2017/12/25 HTML / CSS
html5 音乐播放器 audio 标签使用概述
2013/07/15 HTML / CSS
美国知名女性服饰品牌:New York & Company
2017/03/23 全球购物
武汉高蓝德国际.net机试
2016/06/24 面试题
90后毕业生的求职信范文
2013/09/21 职场文书
大三自我鉴定范文
2013/10/05 职场文书
最新自我评价范文
2013/11/16 职场文书
葬礼主持词
2015/07/02 职场文书
食堂卫生管理制度
2015/08/04 职场文书
使用golang编写一个并发工作队列
2021/05/08 Golang
css常用字体属性与背景属性介绍
2022/02/28 HTML / CSS
JS前端使用Canvas快速实现手势解锁特效
2022/09/23 Javascript