php中生成图片验证码问题
<?phpsession_start();for($i=0;$i<4;$i++){$rand.=dechex(rand(0,15));}$_SISSION['rand']...
<?phpsession_start();for($i=0;$i<4;$i++){ $rand.=dechex(rand(0,15));}$_SISSION['rand']=$rand;
$bg=imagecreatetruecolor(100,30);$im=imagecolorallocate($bg,0,0,0);$color=imagecolorallocate($bg,255,255,255);imagestring($bg,5,0,0,$rand,$color);
header("Content-type: image/jpeg");imagejpeg($bg);
?>
其中php.ini中extension=php_gd2.dll前面的‘;’已经去掉了,但是执行后显示如下:
跪求各位php大虾们帮帮忙! 展开
$bg=imagecreatetruecolor(100,30);$im=imagecolorallocate($bg,0,0,0);$color=imagecolorallocate($bg,255,255,255);imagestring($bg,5,0,0,$rand,$color);
header("Content-type: image/jpeg");imagejpeg($bg);
?>
其中php.ini中extension=php_gd2.dll前面的‘;’已经去掉了,但是执行后显示如下:
跪求各位php大虾们帮帮忙! 展开
4个回答
展开全部
找到原因了:$rand变量没有初始化,直接输出时会有警告。解决办法是在for语句之前加上$rand='';这样就没问题了。
session_start();
$rand='';
for($i=0;$i<4;$i++){
$rand.=dechex(rand(0,15));
}
$_SISSION['rand']=$rand;
$bg=imagecreatetruecolor(100,30);
$im=imagecolorallocate($bg,0,0,0);
$color=imagecolorallocate($bg,255,255,255);
imagestring($bg,5,0,0,$rand,$color);
header("Content-type: image/jpeg");
imagejpeg($bg);
session_start();
$rand='';
for($i=0;$i<4;$i++){
$rand.=dechex(rand(0,15));
}
$_SISSION['rand']=$rand;
$bg=imagecreatetruecolor(100,30);
$im=imagecolorallocate($bg,0,0,0);
$color=imagecolorallocate($bg,255,255,255);
imagestring($bg,5,0,0,$rand,$color);
header("Content-type: image/jpeg");
imagejpeg($bg);
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
展开全部
你看下<?php 前面有没有空行,或者其他字符 有的话就去掉
更多追问追答
追问
前面没有空行啊!再看看还有其他错没?
追答
你把倒数二行注释掉
最后一句改成 var_dump(imagejpeg($bg, "test.jpg"));
看看 结果返回的是什么, 有没有生成test.jpg 这个文件
最好完整的代码截图贴出来,不然看不出什么问题的 (你的给出代码是没问题的)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是BOM头的问题吧,你用记事本保存的UTF-8的时候就会这样,去掉BOM头应该就没问题了,需要的话可以发你个文件,放在项目目录下,运行下就可以了
更多追问追答
追问
还是老样子啊,不行。这个bom是什么意思啊,能起啥作用啊,没见过;
追答
我直接把你的代码复制去记事本,运行下完全没问题,验证码图片是可以出来的。
BOM头是你用记事本保存UTF8的时候自动添加的用来标识这个文件是以UTF8保存的,所以有时候会影响到你的代码运行。
你有没运行BOM.php这个文件?运行了的话会自动去掉你当前以及所有下级目录文件的BOM头
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
header("Content-type: image/jpeg");这行写最前面试试
追问
不行啊!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询