广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php验证码后台不能生成怎么办
  • 592
分享到

php验证码后台不能生成怎么办

php验证码 2021-04-16 20:04:46 592人浏览 猪猪侠
摘要

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php验证码后台不能生成怎么办?php验证码不能生成图片,原因解决:生成图片时,header('Content-type: image/png');前面不

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

php验证码后台不能生成怎么办?

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);

--结束END--

本文标题: php验证码后台不能生成怎么办

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

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

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

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

下载Word文档
猜你喜欢
  • php验证码后台不能生成怎么办
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php验证码后台不能生成怎么办?PHP验证码不能生成图片,原因解决:生成图片时,header('Content-type: image/png');前面不...
    99+
    2021-04-16
    php 验证码
  • 如何解决php验证码后台不能生成的问题
    这篇文章将为大家详细讲解有关如何解决php验证码后台不能生成的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php验证码后台不能生成的解决办法:1、添加“header('Content-typ...
    99+
    2023-06-25
  • java后台验证码如何生成
    这篇文章给大家分享的是有关java后台验证码如何生成的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。效果图如下:1.适用需求后台生成验证码,用于登陆验证。2. 功能实现所需控件/文件:无(普通标签)3.功能点实现思...
    99+
    2023-06-15
  • php怎么能随机生成验证码
    这篇文章给大家分享的是有关php怎么能随机生成验证码的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。代码如下:<phpclass functions{    ...
    99+
    2023-06-15
  • php怎么生成验证码
    在 PHP 中,可以使用以下方法生成验证码:1. 使用 `imagecreate()` 函数创建一个空白的图片对象。2. 使用 `i...
    99+
    2023-10-09
    php
  • java后台验证码生成的实现方法
    效果图如下: 1.适用需求 后台生成验证码,用于登陆验证。 2. 功能实现所需控件/文件: 无(普通标签) 3.功能点实现思路 1)前台思路: (1)前台一个<input&g...
    99+
    2022-11-12
  • php怎么生成不同的短信验证码
    在网站、APP等应用开发过程中,我们经常需要使用短信验证码来进行用户身份验证等操作。而要生成不同的短信验证码,PHP技术是一个很好的选择。今天,本文将介绍如何使用PHP技术生成不同的短信验证码。生成随机数在生成短信验证码之前,我们需要先生成...
    99+
    2023-05-14
  • php 验证码不变怎么办
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑php 验证码不变怎么办?php验证码无刷新改变(更换)test.php<html> <head> <script&...
    99+
    2014-06-23
    php
  • PHP怎么生成图片验证码
    本篇内容介绍了“PHP怎么生成图片验证码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!5种PHP生成图片验证码实例,包括数字验证码、数字+字...
    99+
    2023-06-04
  • springboot验证码生成及验证功能怎么实现
    这篇“springboot验证码生成及验证功能怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“springboot验证...
    99+
    2023-07-06
  • php中 验证码不同步怎么办
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php中 验证码不同步怎么办?完美解决php验证码session不同步的问题各位搞开发的人都经历过被怪现象折磨的滋味,怎么说呢?想找原因找不出来,想解决又解决不了,接下来...
    99+
    2018-01-31
    php
  • php不能生成图片怎么办
    这篇文章主要介绍php不能生成图片怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、解决办法打开gd2库,通过phpinfo进行查看。清除bom,代码是顶行开始写的,所以问题可能出现在代码上。在header前加...
    99+
    2023-06-15
  • 怎么在php中生成验证码图片
    小编给大家分享一下怎么在php中生成验证码图片,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.获取生成验证码字体:在php文件路径新建一个fonts文件夹,里面...
    99+
    2023-06-14
  • VB.NET中怎么生成验证码
    本篇文章给大家分享的是有关VB.NET中怎么生成验证码,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。VB.NET生成验证码前台代码为:< asp:image&n...
    99+
    2023-06-17
  • php如何生成不同的短信验证码
    今天小编给大家分享一下php如何生成不同的短信验证码的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。生成随机数在生成短信验证码...
    99+
    2023-07-06
  • php后台验证码加密方法怎么实现
    在 web 开发中,验证码(CAPTCHA)是一种用于验证用户操作合法性的工具。例如,在提交表单时,服务器可以生成一张验证码图片,在用户正确输入验证码后再处理表单数据,这样可以防止机器自动提交表单,保护网站数据的安全性。在 PHP 后台开发...
    99+
    2023-05-14
  • JavaScript表单验证不成功不能提交怎么办
    小编给大家分享一下JavaScript表单验证不成功不能提交怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、基本目标一个...
    99+
    2022-10-19
  • PHP怎么生成GIF动态图片验证码
    本篇内容主要讲解“PHP怎么生成GIF动态图片验证码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP怎么生成GIF动态图片验证码”吧!相信很多人都想过如何用PHP生成GIF动画来实现动态图片...
    99+
    2023-06-17
  • PHP中怎么利用GD库生成验证码
    本篇文章为大家展示了PHP中怎么利用GD库生成验证码,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。先在php.ini里增加一行引用:extension=php_gd2.dll重启apache。做一个...
    99+
    2023-06-17
  • 织梦DEDECMS怎么取消后台验证码
    织梦DEDECMS怎么取消后台验证码?织梦DEDECMS取消后台验证码有些时候,使用DEDECMS的时候,在后台登陆处遇到后台验证码错误,或者嫌弃后台验证码麻烦,我们就可以将后台的验证码取消掉.这篇文章是介绍教你如果取消找到DEDE后台目录...
    99+
    2018-04-28
    织梦
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作