php生成图片问题

发布于 2022-08-27 13:04:41 字数 1748 浏览 21 评论 0

服务器是ubuntu的,使用源码的方式安装的php,能够看到gd库都开启了,

请输入图片描述
请输入图片描述

但是就是生成图片的时候,显示不出来,出来是错号的小图。同样的代码,在本机是没有问题的。
请输入图片描述


兄弟们想看代码。我贴上,但是这个代码问题的可能性不大。同样的代码,在我开发环境中,没有问题可以出来图片的。我最大的问题,就是看不到出错日志?到底是什么错误都不清楚。只是感觉是gd库的问题。

    /* 
  图片验证码 Powered By KASON test <a href="http://www.jbxue.com/">http://www.jbxue.com</a>   */  
  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的配置了。这个问题最大的问题是没有解决问题的思路了。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

风透绣罗衣 2022-09-03 13:04:41

信息还是不足以确定问题,我感觉应该是在header之前有输出错误信息,导致图片无法显示。你可以尝试这样调试一下:

  1. 不要放到img标签里面去调试,直接浏览器访问请求输出图片的PHP,http://www.host.com/code.php
  2. session_start();前面加个error_reporting(E_ALL);ini_set("display_errors","On");先看看有没有错误
抚笙 2022-09-03 13:04:41

应该是你的服务器配置问题。放在我的ubuntu服务器上一切正常。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文