好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

phpgd图片验证 php图像识别

很多站长朋友们都不太清楚phpgd图片验证,今天小编就来给大家整理phpgd图片验证,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 PHP网站验证码图片不显示 检测服务器是否开启GD功能 电脑维修技术网 2、 php开启gd库验证码图片显示毁坏 3、 php GD已经设置好了,我写了一段简单的验证码,为什么显示不出背景图像? 4、 用php的GD库,编写了一个图片为什么显示不出来?,只显示一个四方小黑块,里面一个叉号, 5、 php的图片验证码代码 PHP网站验证码图片不显示 检测服务器是否开启GD功能 电脑维修技术网

你可以用phpinfo(),看是否开启了GD库,如果是开启了的,那就有可能是生成验证码的那个文件有BOM头,去出BOM头的方法是用别的编辑器打开该文件另存为选择无BOM头格式,推荐一个编辑器

Notepad++

php开启gd库验证码图片显示毁坏

测试了你的代码,首先确认代码是没有问题的。

图片展示失败一般有2个原因:

1、gd2扩展没开

2、输出header前有内容,比如BOM

你看看你的文件是不是UTF-8带BOM的,可以下载个notepad++编辑器,在格式里看。

php GD已经设置好了,我写了一段简单的验证码,为什么显示不出背景图像?

for ($i=0;$i<4;$i++){

echo $vnum.=dechex(mt_rand(0,15));

}

你使用了echo 验证码图片文件是不能使用echo 输出的

用php的GD库,编写了一个图片为什么显示不出来?,只显示一个四方小黑块,里面一个叉号,

你说编写了一个图片,我想到的是验证码! 验证码的话,一般我们调用一个借口是直接返回图片的二进制,记得写header头,再者不要打多余的换行和空格! 用firebug看下这个显示不出来的图片的请求地址,排查下错误。 既然是黑叉,总是有原因的,有时候总得自己去排查!!

php的图片验证码代码

这个是phpcms的验证码,经过十几万个网站经验的,非常好用

<?php

session_start();

$enablegd = 1;

//判断图像处理函数是否存在

$funcs = array('imagecreatetruecolor','imagecolorallocate','imagefill','imagestring','imageline','imagerotate','imagedestroy','imagecolorallocatealpha','imageellipse','imagepng');

foreach($funcs as $func)

{

if(!function_exists($func))

{

$enablegd = 0;

break;

}

}

ob_clean(); //清理缓冲

if($enablegd)

{

//create captcha

$consts = 'cdfgkmnpqrstwxyz23456';

$vowels = 'aek23456789';

for ($x = 0; $x < 6; $x++)

{

$const[$x] = substr($consts, mt_rand(0,strlen($consts)-1),1); //获取$consts中的一个随机数

$vow[$x] = substr($vowels, mt_rand(0,strlen($vowels)-1),1); //获取$vowels中的一个随机数

}

$radomstring = $const[0] . $vow[0] .$const[2] . $const[1] . $vow[1] . $const[3] . $vow[3] . $const[4];

$_SESSION['checkcode'] = $string = substr($radomstring,0,4); //显示4个字符

$imageX = strlen($radomstring)*8; //图像的宽

$imageY = 20; //图像的高

$im = imagecreatetruecolor($imageX,$imageY); //新建一个真彩色图像

//creates two variables to store color

$background = imagecolorallocate($im, rand(180, 250), rand(180, 250), rand(180, 250)); //背景色

$foregroundArr = array(imagecolorallocate($im, rand(0, 20), rand(0, 20), rand(0, 20)),

imagecolorallocate($im, rand(0, 20), rand(0, 10), rand(245, 255)),

imagecolorallocate($im, rand(245, 255), rand(0, 20), rand(0, 10)),

imagecolorallocate($im, rand(245, 255), rand(0, 20), rand(245, 255))

);

$foreground2 = imagecolorallocatealpha($im, rand(20, 100), rand(20, 100), rand(20, 100),80); //分配颜色并说明透明度

$middleground = imagecolorallocate($im, rand(200, 160), rand(200, 160), rand(200, 160)); //中间背景

$middleground2 = imagecolorallocatealpha($im, rand(180, 140), rand(180, 140), rand(180, 140),80); //中间背景2

//与左上角的颜色相同的都会被填充

imagefill($im, 0, 0, imagecolorallocate($im, 250, 253, 254));

//往图像上写入文字

imagettftext($im, 12, rand(30, -30), 5, rand(14, 16), $foregroundArr[rand(0,3)], XINCHENG_ROOT.'include/fonts/ALGER.TTF', $string[0]);

imagettftext($im, 12, rand(50, -50), 20, rand(14, 16), $foregroundArr[rand(0,3)], XINCHENG_ROOT.'include/fonts/ARIALNI.TTF', $string[1]);

imagettftext($im, 12, rand(50, -50), 35, rand(14, 16), $foregroundArr[rand(0,3)], XINCHENG_ROOT.'include/fonts/ALGER.TTF', $string[2]);

imagettftext($im, 12, rand(30, -30), 50, rand(14, 16), $foregroundArr[rand(0,3)], XINCHENG_ROOT.'include/fonts/arial.ttf', $string[3]);

//画边框

$border = imagecolorallocate($im, 133, 153, 193);

imagerectangle($im, 0, 0, $imageX - 1, $imageY - 1, $border);

//画一些随机出现的点

$pointcol = imagecolorallocate($im, rand(0,255), rand(0,255), rand(0,255));

for ($i=0;$i<80;$i++)

{

imagesetpixel($im,rand(2,$imageX-2),rand(2,$imageX-2),$pointcol);

}

//画随机出现的线

for ($x=0; $x<9;$x++)

{

if(mt_rand(0,$x)%2==0)

{

imageline($im, rand(0, 120), rand(0, 120), rand(0, 120), rand(0, 120), rand(0, 999999)); //画线

imageellipse($im, rand(0, 120), rand(0, 120), rand(0, 120), rand(0, 120), $middleground2); //画椭圆

}

else

{

imageline($im, rand(0, 120), rand(0, 120), rand(0, 120), rand(0, 120), rand(0, 999999));

imageellipse($im, rand(0, 120), rand(0, 120), rand(0, 120), rand(0, 120), $middleground);

}

}

//output to browser

header("content-type:image/png\r\n");

imagepng($im);

imagedestroy($im);

}

else

{

$files = glob(XINCHENG_ROOT.'images/checkcode/*.jpg');

if(!is_array($files)) die('请检查文件目录完整性:/images/checkcode/');

$checkcodefile = $files[rand(0, count($files)-1)]; //随机其中一个文件

$_SESSION['checkcode'] = substr(basename($checkcodefile), 0, 4); //获得文件名

header("content-type:image/jpeg\r\n");

include $checkcodefile;

}

?>

关于phpgd图片验证的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于phpgd图片验证 php图像识别的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did208325
更新时间:2023-05-03   阅读:25次

上一篇: phpwhile语录 phpwhile用法

下一篇:php面试mysql部分 php面试数据库优化

最新资料更新

  • 1.php数据抓取实例 php采集数据
  • 2.php防止ajax接口 php防止接口多次请求
  • 3.php文字合到图片 php 图片合成
  • 4.php接收url php接收json数据
  • 5.php的特点有. 简述什么是php?php的主要特点有哪些?
  • 6.php生成uuid php生成随机6位数
  • 7.php事务的隔离级别 php事务处理
  • 8.php下面有哪些技术 php运用的技术php开发有哪些实用的技术
  • 9.php仿站技术 用仿站小工具制作网站
  • 10.php与java同步接口 php和java做服务端对比
  • 11.phpdelete的简单介绍
  • 12.php换文字颜色 php文字颜色代码
  • 13.php中国什么意思 php叫什么
  • 14.php缓存框架 php 缓存
  • 15.php变量内存溢出 php 内存限制
  • 16.手机打开php乱码 php乱码怎么办
  • 17.php手机端开发框架 php app开发框架
  • 18.php字体和颜色 php字体样式代码
  • 19.php数据层设计 php数据库操作
  • 20.php操作redis存值 php redis数据类型

CopyRight:2016-{hedonghua:year}{hedonghua:sitegs} 备案ICP:湘ICP备09009000号-16 {hedonghua:sitejym}
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]