如何解决php 生成验证码图片不显示问题

时间 2014-12-07 09:14:07 CSDN博客
原文  http://blog.csdn.net/whq19890827/article/details/41785689
主题 PHP

验证码第一天还好好的,第二天怎么整都不显示了,高级好几个小时。网上原因找了好久,哈哈,终于找到了!现在给大家分享一下:

程序:

<?php

w=80;//设置图片宽和高w = 80; //设置图片宽和高 h = 26;
str=Array();//用来存储随机码str = Array(); //用来存储随机码 string = “ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789”;//随机挑选其中4个字符,也可以选择更多,注意循环的时候加上,宽度适当调整
for(i=0;i = 0;i < 4;i++)$str[$i]=$string[rand(0,35)];$vcode.=$str[$i];sessionstart();//启用超全局变量sessioni++){ $str[$i] = $string[rand(0,35)]; $vcode .= $str[$i]; } session_start(); //启用超全局变量session _SESSION["vcode"] = vcode;vcode; im = imagecreatetruecolor(w,w,h);
white=imagecolorallocate(white = imagecolorallocate(im,255,255,255); //第一次调用设置背景色
black=imagecolorallocate(black = imagecolorallocate(im,0,0,0); //边框颜色
imagefilledrectangle(im,0,0,im,0,0,w,h,h,white); //画一矩形填充
imagerectangle(im,0,0,im,0,0,w-1,h−1,h-1,black); //画一矩形框
//生成雪花背景
for(i=1;i = 1;i < 200;i++)$x=mtrand(1,$w−9);$y=mtrand(1,$h−9);$color=imagecolorallocate($im,mtrand(200,255),mtrand(200,255),mtrand(200,255));imagechar($im,1,$x,$y,"∗",$color);//将验证码写入图案for(i++){ $x = mt_rand(1,$w-9); $y = mt_rand(1,$h-9); $color = imagecolorallocate($im,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255)); imagechar($im,1,$x,$y,"*",$color); } //将验证码写入图案 for(i = 0;i<count(i str);i++)$x=13+$i∗($w−15)/4;$y=mtrand(3,$h/3);$color=imagecolorallocate($im,mtrand(0,225),mtrand(0,150),mtrand(0,225));imagechar($im,5,$x,$y,$str[$i],$color);header(“Content−type:image/jpeg”);//以jpeg格式输出,注意上面不能输出任何字符,否则出错imagejpeg(i++){ $x = 13 + $i * ($w - 15)/4; $y = mt_rand(3,$h / 3); $color = imagecolorallocate($im,mt_rand(0,225),mt_rand(0,150),mt_rand(0,225)); imagechar($im,5,$x,$y,$str[$i],$color); } header(“Content-type:image/jpeg”); //以jpeg格式输出,注意上面不能输出任何字符,否则出错 imagejpeg(im);
imagedestroy($im);
?>
验证过,在别人的电脑上能运行,但是我自己的电脑却无法运行。原因如下:

首先要声明一下的是,我以为是gd2库没有打开,但用 phpinfo查看了,发现打开了。清除了bom,代码也是顶行开始写的,因此问题可能出现在代码上。后来经过研究,发现还是要更改一下程序,要在header前面加上ob_clean()这个语句,这样就可以运行了。

加在header输出之前:

ob_clean();  //关键代码,防止出现’图像因其本身有错无法显示’的问题。

header(“Content-type:image/jpeg”);

这样问题就得到了解决。

    </div><div class="article_social"><div class="article_like">
<div class="circle circle-like" id="my_zan" data_id="jaYBBfJ">  </div>

分享
收藏 纠错

("#share_weibo_id").click( function() {
   window.open("http://share.baidu.com/s?type=text&searchPic=0&sign=on&to=tsina&url=http://www.tuicool.com/articles/jaYBBfJ&title=%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3php+%E7%94%9F%E6%88%90%E9%AA%8C%E8%AF%81%E7%A0%81%E5%9B%BE%E7%89%87%E4%B8%8D%E6%98%BE%E7%A4%BA%E9%97%AE%E9%A2%98++%28%E5%88%86%E4%BA%AB%E8%87%AA+%40%E6%8E%A8%E9%85%B7%E7%BD%91%29&key=3113829255");
});("#share_weibo_id").click( function() {window.open("http://share.baidu.com/s?type=text&searchPic=0&sign=on&to=tsina&url=http://www.tuicool.com/articles/jaYBBfJ&title=%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3php+%E7%94%9F%E6%88%90%E9%AA%8C%E8%AF%81%E7%A0%81%E5%9B%BE%E7%89%87%E4%B8%8D%E6%98%BE%E7%A4%BA%E9%97%AE%E9%A2%98++%28%E5%88%86%E4%BA%AB%E8%87%AA+%40%E6%8E%A8%E9%85%B7%E7%BD%91%29&key=3113829255"); }); ("#share_qq_id").click( function() { window.open("http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=http://www.tuicool.com/articles/jaYBBfJ&title=%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3php+%E7%94%9F%E6%88%90%E9%AA%8C%E8%AF%81%E7%A0%81%E5%9B%BE%E7%89%87%E4%B8%8D%E6%98%BE%E7%A4%BA%E9%97%AE%E9%A2%98&desc=&summary=&site="); }); ("#share_weixin_id").click( function() {("#share_weixin_id").click( function() {("#share_weixin_image").toggle(); });

        <div class="bottom_plink huodong-detail-plink-banner clearfix"><a href="http://bird.so" target="_blank"><img src="http://static1.tuicool.com/images/upload/bird700.jpg"></a></div></div><div id="site_articles" style="clear:both;"><div class="article-part-title"><span>推荐文章</span></div><ul class="side_article_list"><li class="side_article_list_item">1.<a href="/articles/FVVNjmj" target="_blank" title="PHP_设计模式">PHP_设计模式</a></li><li class="side_article_list_item">2.<a href="/articles/R3I3M3y" target="_blank" title="[ PHP 内核与扩展开发系列] 第一个 PHP 扩展:编写函数">[ PHP 内核与扩展开发系列] 第一个 PHP 扩展:编写函数</a></li><li class="side_article_list_item">3.<a href="/articles/FRBrMj2" target="_blank" title="yii2事件的解绑和级别概念">yii2事件的解绑和级别概念</a></li><li class="side_article_list_item">4.<a href="/articles/r2UBbaI" target="_blank" title="PHP or Python如何选择?或许你应该考虑一下这三个问题">PHP or Python如何选择?或许你应该考虑一下这三个问题</a></li><li class="side_article_list_item">5.<a href="/articles/F7ZFzyj" target="_blank" title="一个活生生的Yii2事件例子">一个活生生的Yii2事件例子</a></li><li class="side_article_list_item">6.<a href="/articles/j2yEBr6" target="_blank" title="[ PHP 内核与扩展开发系列] 内存管理 —— 内存分配与释放">[ PHP 内核与扩展开发系列] 内存管理 —— 内存分配与释放</a></li></ul></div><div id="kan_articles"> <div class="article-part-title"> <span>相关推刊</span></div><div class="kan-list-container"><ul class="kan-list clearfix">          <li class="kan-item">            <span class="kan-item-head">              <small></small>              <img class="kan-cover" src="http://img0.tuicool.com/EzuEvyZ.jpg!kan">            </span>            <span class="kan-detail">              <i>《匿名收藏》</i>              <i class="kan-num">57</i>            </span>          </li>                  <li class="kan-item">            <span class="kan-item-head">              <small></small>              <img class="kan-cover" src="http://img0.tuicool.com/6Rn6beQ.png!kan">            </span>            <span class="kan-detail">              <i>《匿名收藏》</i>              <i class="kan-num">43</i>            </span>          </li>                  <li class="kan-item">            <a href="/kans/3605510558" target="_blank" class="kan-item-head">              <small>by 字研字禹</small>              <img class="kan-cover" src="http://img0.tuicool.com/zU7VVf.png!kan">            </a>            <span class="kan-detail">              <a href="/kans/3605510558" target="_blank">《PHP常用方法及模块》</a>              <i class="kan-num">665</i>            </span>          </li>        </ul></div><i class="clearfix"></i></div><div id="article_weibo" style="display:none;"><div class="article-part-title"><span>相关微博</span><sub><a href="/articles/weibo_list/jaYBBfJ" target="_blank">(<i id="weibo_num"></i>)</a> </sub></div><div class="related-weibo-list"></div></div><div class="comments">
<div class="comments-area">
<div class="comments-header"><h5>我来评几句</h5><div class="alert comment-alert alert-error" style="display:none;">错误</div><textarea cols="60" rows="5" id="comment-body" placeholder="请输入评论内容..." style="resize: none;"></textarea><span class="btn btn-medium btn-submit" id="comment-submit">登录后评论</span><p style="margin-top: 5px;margin-left:10px;">已发表评论数(<span class="comment_cnt">0</span>)</p>
</div>
<div class="comments-list"><div class="empty-cmts alert alert-success" style="display:none;">没有更多评论了^^</div>
</div>
<div class="more-comments" style="display:none;"><a href="">更多评论</a>
</div>
<div class="load-fail" style="display:none;">评论加载失败,<a href="javascript:reload_comments('jaYBBfJ',1,0,-1);">重新加载</a>
</div>
</div>

转载自(http://www.tuicool.com/articles/jaYBBfJ);

关于在laravel项目中验证码不显示的问题相关推荐

  1. antd 实现pdf 预览_解决react项目中PDF的显示与打印问题

    最近项目中有这样一个需求: 1. 页面中可以显示pdf 2. 不希望把整个页面打印下来,只打印显示PDF的部分,可以使用浏览器自带打印功能 PDF文件的显示 拿到这个需求,真时一头雾水.因为没有做过类 ...

  2. laravel 图片流_使用 Intervention/image 对 Laravel 项目中的图片进行处理

    在 Laravel 5 中集成 Intervention Image 实现对图片的创建.修改和压缩处理 Intervention Image是一个PHP图片操作处理库,为图片创建.修改及压缩等处理提供 ...

  3. laravel项目中css样式表的背景图片不显示

    刚学laravel,遇到了很多坑,感觉laravel是挺强大的. 建好后台项目,奈何css样式表的背景图片不显示 .mainhd {background: url(../images/sky/body ...

  4. 共用数据库和上传的文件的laravel-admin 和 laravel 项目中文件保存路径的配置

    #laravel中的配置: 1.public中创建storage的软连接: ln -s /home/nginx/blog/storage/app/public storage 2.设置权限 chown ...

  5. 解决Web项目中图片无法显示问题

    问题描述 在web目录下创建了images文件夹用来存放图片,在web目录再创建HTML文件,该文件中的img标签引用了images里面的图片,但是启动服务器时,页面上的图片无法显示. 解决问题  将 ...

  6. Nginx设置Laravel项目中图片防盗链以及禁止地址栏直接访问图片

    我的个人博客:逐步前行STEP 为了防止图片盗用,禁止外链以及禁止地址栏直接访问图片是必不可少的方案,当然这样的限制还比较基础,还是有别的途径可以盗图的,更多的限制之后会追加,现在先做好这两个基础防护 ...

  7. eclipse web项目中css无法显示

    可能是由于html与jsp不兼容的缘故 将这一行删除即可

  8. Laravel项目+Google验证器

    1.首先要在你的Laravel项目中安装Google验证器插件.二维码生成器插件,执行命令如下: # Google验证器插件安装命令: composer require "earnp/lar ...

  9. ckfinder php 配置,php – 在Laravel 5中为CKEditor设置路径以使用CKFinder

    您好我正在尝试将CKFinder与CKEditor集成到一个laravel项目中.我在CKEditor的config.js文件中进行了以下设置: CKEDITOR.editorConfig = fun ...

最新文章

  1. 伟人必须回答的(二十道问题)
  2. Error:Unable to resolve target android-19
  3. 【版本工具】Git-浅谈git命令
  4. 用自动阈值话处理SVM棋盘
  5. 枚举类型(C# 编程指南)
  6. ALV可输入状态下输入金额字段变小数的问题
  7. golang strconv包(类型转换、保留小数位)
  8. 主构造器和附属构造器
  9. Android 中文API (68) —— BluetoothClass.Service
  10. 【原创】MySQL 模拟PostgreSQL generate_series 表函数
  11. Java 简历 专业技能可以这样写
  12. 王道考研机试指南重写
  13. Arduino UNO AT24C32进行单字节数据读写
  14. matlab中做出球面和圆柱面,matlab画柱面与球面切线
  15. 施一公:如何成为一名优秀的博士生?
  16. php解压7z,linux解压7z文件命令
  17. Mesh Slicer 切割人体的原理分析
  18. vue如何整个页面添加loading
  19. 没什么经验的UE/UI设计师如何应对面试
  20. 超声波气象站和常规气象站的区别

热门文章

  1. Map的keySet遍历
  2. 虚幻4皮肤材质_PBR:应用于虚幻引擎4贴图和材质创建的启示 - 纳金网
  3. 同步调制和异步调制区别
  4. 前端表白纪念日用js+html+css实现的页面代码复制粘贴就能用
  5. UITableView是不会响应touchesBegan:方法的
  6. [学习笔记]在Linux中使用源码编译的方式安装Nginx
  7. 实验5-三种基本结构综合应用:7-1 数字金字塔 (20 分)
  8. win10 软路由_从听说到上手,人人都能看懂的软路由入门指南
  9. rancher 和 Kubernetes有什么区别?
  10. 复制内容后自动跳转到淘宝客户端