时间:2021-07-01 10:21:17 帮助过:7人阅读
服务器是ubuntu的,使用源码的方式安装的php,能够看到gd库都开启了,
但是就是生成图片的时候,显示不出来,出来是错号的小图。同样的代码,在本机是没有问题的。
兄弟们想看代码。我贴上,但是这个代码问题的可能性不大。同样的代码,在我开发环境中,没有问题可以出来图片的。我最大的问题,就是看不到出错日志?到底是什么错误都不清楚。只是感觉是gd库的问题。
/*
图片验证码 Powered By KASON test http://www.jbxue.com */
session_start();
$num=4;//验证码个数
$width=80;//验证码宽度
$height=20;//验证码高度
$code=' ';
for($i=0;$i<$num;$i++)//生成验证码
{
switch(rand(0,2))
{
case 0:$code[$i]=chr(rand(48,57));break;//数字
case 1:$code[$i]=chr(rand(65,90));break;//大写字母
case 2:$code[$i]=chr(rand(97,122));break;//小写字母
}
}
$_SESSION["VerifyCode"]=$code;
$image=imagecreate($width,$height);
imagecolorallocate($image,255,255,255);
for($i=0;$i<80;$i++)//生成干扰像素
{
$dis_color=imagecolorallocate($image,rand(0,2555),rand(0,255),rand(0,255));
imagesetpixel($image,rand(1,$width),rand(1,$height),$dis_color);
}
for($i=0;$i<$num;$i++)//打印字符到图像
{
$char_color=imagecolorallocate($image,rand(0,2555),rand(0,255),rand(0,255));
imagechar($image,60,($width/$num)*$i,rand(0,5),$code[$i],$char_color);
}
header("Content-type:image/gif"); //这里换成png,下面方法换成imagepng,都是不行的。
imagegif($image);//
输出图像到浏览器
imagedestroy($image);//释放资源
?>
代码没有问题,有问题就是php与gd的配置了。这个问题最大的问题是没有解决问题的思路了。
服务器是ubuntu的,使用源码的方式安装的php,能够看到gd库都开启了,
但是就是生成图片的时候,显示不出来,出来是错号的小图。同样的代码,在本机是没有问题的。
兄弟们想看代码。我贴上,但是这个代码问题的可能性不大。同样的代码,在我开发环境中,没有问题可以出来图片的。我最大的问题,就是看不到出错日志?到底是什么错误都不清楚。只是感觉是gd库的问题。
/*
图片验证码 Powered By KASON test http://www.jbxue.com */
session_start();
$num=4;//验证码个数
$width=80;//验证码宽度
$height=20;//验证码高度
$code=' ';
for($i=0;$i<$num;$i++)//生成验证码
{
switch(rand(0,2))
{
case 0:$code[$i]=chr(rand(48,57));break;//数字
case 1:$code[$i]=chr(rand(65,90));break;//大写字母
case 2:$code[$i]=chr(rand(97,122));break;//小写字母
}
}
$_SESSION["VerifyCode"]=$code;
$image=imagecreate($width,$height);
imagecolorallocate($image,255,255,255);
for($i=0;$i<80;$i++)//生成干扰像素
{
$dis_color=imagecolorallocate($image,rand(0,2555),rand(0,255),rand(0,255));
imagesetpixel($image,rand(1,$width),rand(1,$height),$dis_color);
}
for($i=0;$i<$num;$i++)//打印字符到图像
{
$char_color=imagecolorallocate($image,rand(0,2555),rand(0,255),rand(0,255));
imagechar($image,60,($width/$num)*$i,rand(0,5),$code[$i],$char_color);
}
header("Content-type:image/gif"); //这里换成png,下面方法换成imagepng,都是不行的。
imagegif($image);//
输出图像到浏览器
imagedestroy($image);//释放资源
?>
代码没有问题,有问题就是php与gd的配置了。这个问题最大的问题是没有解决问题的思路了。
信息还是不足以确定问题,我感觉应该是在header之前有输出错误信息,导致图片无法显示。你可以尝试这样调试一下:
session_start();
前面加个error_reporting(E_ALL);ini_set("display_errors","On");
先看看有没有错误
应该是你的服务器配置问题。放在我的ubuntu服务器上一切正常。
参考:php生成图片缩略图
PHP 图片处理类 phpThumb参数用法介绍
php上传图片功能的实现
php 上传图片加水印且支持透明的代码
php上传图片并打上透明水印的代码
php图片加水印与上传图片加水印类
php使用GD库生成bmp格式的图片(imagebmp)
php GD库上传图片并创建缩略图的代码