为了账号安全,请及时绑定邮箱和手机立即绑定

image.func.php无法显示

<?php
require_once 'string.func.php';
//通过GD库做验证码
function verifyImage($type=1,$length=4,$pixel=50,$line=5){
   //创建画布
   $width = 80;
   $height = 28;
   $image = imagecreatetruecolor ( $width, $height );
   $white = imagecolorallocate ( $image, 255, 255, 255 );
   $black = imagecolorallocate ( $image, 0, 0, 0 );
   //用填充矩形填充画布
   imagefilledrectangle ( $image, 1, 1, $width - 2, $height - 2, $white );
   $chars = buildRandomString ( $type, $length );
   $sess_name = "verify";
   $_SESSION [$sess_name] = $chars;
   //$fontfiles = array ("MSYH.TTF", "MSYHBD.TTF", "SIMLI.TTF", "SIMSUN.TTC", "SIMYOU.TTF", "STZHONGS.TTF" );
   $fontfiles = array ("SIMYOU.TTF", "STZHONGS.TTF");

   for($i = 0; $i < $length; $i ++) {
       $size = mt_rand ( 14, 18 );
       $angle = mt_rand ( - 15, 15 ); //角度
       $x = 5 + $i * $size;
       $y = mt_rand ( 20, 26 );
       $fontfile = "../fonts/" . $fontfiles [mt_rand ( 0, count ( $fontfiles ) - 1 )];
       $color = imagecolorallocate ( $image, mt_rand ( 50, 90 ), mt_rand ( 80, 200 ), mt_rand ( 90, 180 ) );
       $text = substr ( $chars, $i, 1 );
       imagettftext ( $image, $size, $angle, $x, $y, $color, $fontfile, $text );
   }
   if ($pixel) {
       for($i = 0; $i < 50; $i ++) {
           imagesetpixel ( $image, mt_rand ( 0, $width - 1 ), mt_rand ( 0, $height - 1 ), $black );
       }
   }
   if ($line) {
       for($i = 1; $i < $line; $i ++) {
           $color = imagecolorallocate ( $image, mt_rand ( 50, 90 ), mt_rand ( 80, 200 ), mt_rand ( 90, 180 ) );
           imageline ( $image, mt_rand ( 0, $width - 1 ), mt_rand ( 0, $height - 1 ), mt_rand ( 0, $width - 1 ), mt_rand ( 0, $height - 1 ), $color );
       }
   }
   header ( "content-type:image/gif" ); //告知需要显示什么资源
   imagegif ( $image );  //显示画布
   imagedestroy ( $image );
}

哪位帮忙试下。。为何单独运行image.func.php没显示验证码空白一片,用getVerify.php却可以。。

正在回答

4 回答

image.func.php这个脚本只是一个函数,并没有调用函数来显示验证码图片,所以单独运行image.func.php的话当然是空白一片。在getVerify.php有调用就么问题。

另外一个问题 $_SESSION [$sess_name] 总是得到固定值3708 

不大清楚,猜测是在dologin那个脚本里面,写的是$_SESSION['verify'];吗?要保证 中括号里面的和 verifyImage函数里 $sess_name = "verify" 的值一致哇。

0 回复 有任何疑惑可以回复我~

请问一下哪里可以下载老师这个类文件呢?

0 回复 有任何疑惑可以回复我~

找到原因了。。。我把$sess_name = "verify" 放在dologin里,没放在默认参数里

0 回复 有任何疑惑可以回复我~

另外$_SESSION [$sess_name] 总是得到固定值3708 导致提交登录后一直验证失败。。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
手把手教你实现电商网站后台开发
  • 参与学习       117285    人
  • 解答问题       1999    个

手把手教你用PHP搭建电子商务平台,由浅入深教你搭建电商系统

进入课程

image.func.php无法显示

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信