广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >如何解决php验证码后台不能生成的问题
  • 595
分享到

如何解决php验证码后台不能生成的问题

2023-06-25 16:06:47 595人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关如何解决PHP验证码后台不能生成的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php验证码后台不能生成的解决办法:1、添加“header('Content-typ

这篇文章将为大家详细讲解有关如何解决PHP验证码后台不能生成的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

php验证码后台不能生成的解决办法:1、添加“header('Content-type: image/png')”语句;2、通过“ob_clean();”清除输出缓存即可。

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

PHP验证码不能生成图片,原因解决:

生成图片时,header('Content-type: image/png');前面不能有输出!!!

或者,前面加:ob_clean(); 即使用输出也可以通过这句来清除输出缓存!很重要!!!

当然,首先要打开gd2库,可通过phpinfo查看。清除了bom,代码也是顶行开始写的,因此问题可能出现在代码上。后来经过研究,发现还是要更改一下程序,要在header前面加上ob_clean()这个语句,这样就可以运行了!哈哈,编码调试程序如当医生,百练成刚。

<?php//设置 验证码高度宽度\上面字符个数$img_w = 70;$img_h = 22;$font = 5;$char_len = 5;//数组合并, range()函数返回一个范围数组$char = array_merge ( range ( 'a', 'z' ), range ( 'A', 'Z' ), range ( '1', '9' ) );$rand_keys = array_rand ( $char, $char_len ); //随机从数组中取指定个数的元素,生成键值if ($char_len == 1) { //若只有一个数,则array_rand()返回非数组类型         $rand_keys = array ($rand_keys );}shuffle($rand_keys);  //可以不用$code = '';foreach ( $rand_keys as $k ) {         $code .= $char [$k];}session_start ();$_SESSION ['captcha'] = $code; //添加线、色//创建新图像$img = imagecreatetruecolor ( $img_w, $img_h );//分配颜色$bg_color = imagecolorallocate ( $img, 0xcc, 0xcc, 0xcc );//画布背景色imagefill ( $img, 0, 0, $bg_color );//干扰线for($i = 0; $i < 300; ++$i) {         $color = imagecolorallocate ( $img, mt_rand ( 0, 255 ), mt_rand ( 0, 255 ), mt_rand ( 0, 255 ) );         imagesetpixel ( $img, mt_rand ( 0, $img_w ), mt_rand ( 0, $img_h ), $color );}for($i = 0; $i <= 10; ++ $i) {         //设置直线颜色         $color = imageColorAllocate ( $img, mt_rand ( 0, 255 ), mt_rand ( 0, 255 ), mt_rand ( 0, 255 ) );         //在$img图像上随机画一条直线         imageline ( $img, mt_rand ( 0, $img_w ), mt_rand ( 0, $img_h ), mt_rand ( 0, $img_w ), mt_rand ( 0, $img_h ), $color );         //imagesetpixel($img,mt_rand(0,$img_w),mt_rand(0,$img_h),$color);} //加加框$rect_color = imagecolorallocate ( $img, 0x90, 0x90, 0x90 );imagerectangle ( $img, 0, 0, $img_w - 1, $img_h - 1, $rect_color );$str_color = imagecolorallocate ( $img, mt_rand ( 0, 100 ), mt_rand ( 0, 100 ), mt_rand ( 0, 100 ) );$font_w = imagefontwidth ( $font );$font_h = imagefontheight ( $font );$str_len = $font_w * $char_len;imagestring ( $img, $font, ($img_w - $str_len) / 2, ($img_h - $font_h) / 2, $code, $str_color );

设定字符串颜色

$str_color = imageColorAllocate($img, mt_rand(0, 100), mt_rand(0, 100),mt_rand(0, 100));//设定字符串位置$font_w = imageFontWidth($font);  //字体宽$font_h = imageFontHeight($font); //字体高$str_w = $font_w * $char_len;     //字符串宽imageString($img, $font, ($img_w-$str_w)/2, ($img_h-$font_h)/2, $code, $str_color);echo 'DDD'; //输出影响生成图片,查找了大半天的原因终于找到了ob_clean(); //也可以加上这句,这样前面有输出,清除输出缓存//生成图片header ( 'Content-Type: image/png' );//header前不能加任何输出或加ob_clean()清除imagepng($img);//----4 销毁画布imagedestroy($img);

关于“如何解决php验证码后台不能生成的问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: 如何解决php验证码后台不能生成的问题

本文链接: https://www.lsjlt.com/news/305904.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何解决php验证码后台不能生成的问题
    这篇文章将为大家详细讲解有关如何解决php验证码后台不能生成的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php验证码后台不能生成的解决办法:1、添加“header('Content-typ...
    99+
    2023-06-25
  • php验证码后台不能生成怎么办
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php验证码后台不能生成怎么办?PHP验证码不能生成图片,原因解决:生成图片时,header('Content-type: image/png');前面不...
    99+
    2021-04-16
    php 验证码
  • 如何解决thinkphp验证码不能显示问题?
    thinkPHP做验证码这一块,可以使用自带的验证码扩展,具体步骤如下: 一、安装扩展 composer require topthink/think-captcha 二、模版中使用 将原来静态页面的验证码图片替换为{:captch...
    99+
    2023-09-04
    php 开发语言 Powered by 金山文档
  • 如何解决php验证码失效问题
    这篇“如何解决php验证码失效问题”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何解决php验证码失效问题”文章吧。php...
    99+
    2023-07-04
  • php如何生成不同的短信验证码
    今天小编给大家分享一下php如何生成不同的短信验证码的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。生成随机数在生成短信验证码...
    99+
    2023-07-06
  • 如何解决Spring in action @valid验证不生效的问题
    解决Spring in action @valid验证不生效 按照书上的示例代码来实现但是,添加了验证但是没有生效。 Spring提供了校验Api是使用但是没有提供实现,所以需要自己...
    99+
    2022-11-12
  • PHP异步协程开发:解决高并发下的验证码生成问题
    PHP异步协程开发:解决高并发下的验证码生成问题在现代互联网应用中,验证码是一种常见的用来保护用户账号安全的手段。在用户注册、登录等场景下,验证码的生成和验证是必不可少的环节。然而,当网站面对大量的并发请求时,验证码的生成成为一个性能瓶颈,...
    99+
    2023-12-09
    异步编程 协程开发 高并发解决
  • 如何处理dedecms后台登录验证码不正常显示的问题
    本篇内容介绍了“如何处理dedecms后台登录验证码不正常显示的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言:在登录dedecms...
    99+
    2023-06-07
  • 如何解决php qrcode不生成图片的问题
    本篇内容主要讲解“如何解决php qrcode不生成图片的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决php qrcode不生成图片的问题”吧!php qrcode不生成图片的解决...
    99+
    2023-06-20
  • 怎么解决php验证码加载不出来的问题
    这篇文章将为大家详细讲解有关怎么解决php验证码加载不出来的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php验证码加载不出来的解决办法:1、检查验证码类和验证码字体的路径是否引入错误;2、将hea...
    99+
    2023-06-14
  • DedeCMS 验证码不正确的解决方法(php配置问题)
    解决一: data\session 保存不成功,原因是目录没有写权限(权限777); 解决二: 可以取消掉验证码,具体方法如下 实现的方法一共分为两步来进行: 复制代码代码如下: 打开 dede/login.php 找到...
    99+
    2022-06-12
    DedeCMS 验证码
  • 织梦DEDECMS后台验证码错误不能正常验证的3种可能原因和解决方法
    经常看到很多人发帖称自己用织梦建的站在使用一段时间后会出现进不了后台,明明验证码是对的但提示说验证码不对。今天就花了时间整理了一些相关方法,主要有下面几种: 解决一: data/session 保存不成功,原...
    99+
    2022-06-12
    织梦 DEDECMS 后台验证码错误
  • 如何解决WEB性能测试中的验证码问题
    如何解决WEB性能测试中的验证码问题,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。现在越来越多的网站为了安全性或是防止Spam的侵害,采用了验证码的校验技术。简单地说,验证...
    99+
    2023-06-04
  • Python随机验证码生成和join字符串的问题怎么解决
    这篇文章主要介绍“Python随机验证码生成和join字符串的问题怎么解决”,在日常操作中,相信很多人在Python随机验证码生成和join字符串的问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”P...
    99+
    2023-06-30
  • 如何解决ajax传到后台php中文乱码问题
    本文操作环境:Windows7系统,PHP7.1版,Dell G3电脑。如何解决ajax传到后台php中文乱码问题?PHP中AJAX应用中文乱码解决方法web应用开发中经常出现中文乱码情况!今天主要整理下思路:出现乱码的大多数情况是我们进行...
    99+
    2016-02-15
    ajax php
  • 如何解决PHP base64编码后解码乱码的问题
    如何解决PHP base64编码后解码乱码的问题 PHP base64编码后解码乱码的解决办法:用GET形式传递时,防止【+】号被替换成空格即可,代码为【$str = base64_decode(str_replace(" ","...
    99+
    2023-09-06
    servlet java html
  • vue2如何解决pc端短信验证码的问题
    这篇文章给大家分享的是有关vue2如何解决pc端短信验证码的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。<提示语部分不要在意(非重点部分)>简单说下布局(采用的...
    99+
    2022-10-19
  • centos安装php后apache不能启动的问题如何解决
    本篇内容介绍了“centos安装php后apache不能启动的问题如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!centos安装ph...
    99+
    2023-06-20
  • 如何解决jquery中ajax请求后台数据成功后既不执行success也不执行error的问题
    这篇文章给大家分享的是有关如何解决jquery中ajax请求后台数据成功后既不执行success也不执行error的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。jquery...
    99+
    2022-10-19
  • 如何解决html input验证只能输入数字,不能输入其他的问题
    这篇文章主要介绍如何解决html input验证只能输入数字,不能输入其他的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!实例如下<input type=&quo...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作